У меня есть база данных, как этавнешний ключ в MySQL с использованием Yii
==== Invoices ====
id
costumer_id
description
==== Costumers ===
id
firstname
lastname
Теперь я сделал отношения между ними моделью так же, как модели this.In Счетов отношения столь же, как это
public function relations()
{
return array(
'customer' => array(self::BELONGS_TO, 'Customer', 'customer_id')
);
}
В костюмере модели отношения, как эта
public function relations()
{
return array(
'invoice' => array(self::HAS_MANY, 'Invoices','customer_id')
);
}
Теперь, как мое отношение определяется один костюмер имеет м счета-фактуры и счет-фактура принадлежат заказчику. Теперь я сделал мультимодель и загрузил модель Costumer в модель счета-фактуры именно так.
public function actionCreate()
{
$model = new Invoices;
$customers = new Customers;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if (isset($_POST['Invoices'],$_POST['Customers']))
{
$model->attributes = $_POST['Invoices'];
$customers->attributes = $_POST['Customers'];
$valid = $model->validate();
$valid = $customers->validate();
if($valid)
{
$model->save(false);
$customers->id = $model->customer_id;
$customers->save(false);
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
'customers'=>$customers,
));
}
Здесь все хорошо. Я могу легко вставить данные для обеих моделей. Но моя проблема возникает здесь в том смысле, что когда я вставляю данные из мультимодальной модели Invoice, идентификатор внешнего ключа не изменяется. Он показывает нуль каждый раз. Может кто-нибудь скажет мне, где я ошибаюсь. Любая помощь и предложения будут очень полезными.
Спасибо Kor для быстрой reply..but, это не работает – NewUser
могли бы вы показать нам какую-либо ошибку? Вы можете даже публиковать любые ошибки, исходящие из $ invoice-> getErrors() и $ customers-> getErrors() (после проверки() или сохранения()). Кроме того, я отредактировал код, поскольку я забыл изменить 'model' на' invoice' в методе рендеринга. – Korcholis
Я сделал необходимые изменения, которые вы здесь сделали. Но это не работает. Не показывать никаких ошибок. Просто, если внешний ключ не обновляет все данные, они легко сохраняются. – NewUser