Yii Framework Forum: Salvar Dados De Outro Modelo - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Salvar Dados De Outro Modelo Rate Topic: -----

#1 User is offline   Yuri Santos 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 21-May 12

Posted 31 August 2013 - 09:10 PM

Amigos preciso de uma ajuda. Estou fazendo um cadastro de cliente. Meu form de cliente carrega os campos do modelo telefone, preciso que logo após salvar os dados do cliente salve o telefone na tabela telefone. Estou fazendo assim:

public function actionCreate() {
$model = new Cliente;
$telefone = new Telefone;

// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);

if (isset($_POST['Cliente']) && isset($_POST['Telefone'])) {

$model->attributes = $_POST['Cliente'];

$telefone->attributes = $_POST['Telefone'];

if ($model->save())
$telefone->save();
$this->redirect(array('view', 'id' => $model->idcliente));
}

$this->render('create', array(
'model' => $model,
));
}
0

#2 User is offline   Wanderson 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 69
  • Joined: 20-February 09
  • Location:Rio de Janeiro, Brazil

Posted 02 September 2013 - 06:11 PM

Existe algum relacionamento entre as tabelas Cliente e Telefone? Por exemplo: tabela telefone tem um idCliente. Se existe você precisa setar o valor logo após salvar na tabela cliente.


<?php 

public function actionCreate()
{
  $modelCliente = new Cliente;
  $modelTelefone = new Telefone;

  if (isset($_POST['Cliente']) && isset($_POST['Telefone'])) {
    $modelCliente->attributes = $_POST['Cliente'];
    $modelTelefone->attributes = $_POST['Telefone'];
    
    $valid = $modelCliente->validate() && $modelTelefone->validate();
   
    if  ($valid) {
        $modelCliente->save(false);
        $modelTelefone->idcliente = $modelCliente->idcliente; // supondo que exista uma chave estrangeira na tabela telefone
        $modelTelefone->save(false);
        $this->redirect(array('view', 'id' => $modelCliente->idcliente));
    }
  }

  $this->render('create', array(
      'model' => $model,
  ));
}

?>

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users