У меня такая проблема в том что есть заказ и клиент, мне нужно в заказе вбить id клиента который я получил, только не работает когда я пытаюсь присобачить полученный от моделе client хочу сохранить в таблицу заказах в поле id_client.
Вот что приходит мне в post запросе(дебаг из yii2)
$_POST
Name Value
_csrf-frontend 'dmZFSG95NmQkSzA9N0B1PCQ0BgouCGI8HjZ3GA5OWA4PUw0ZPA4HVg=='
Zakaz [
'description' => 'ТестПробная'
'number' => '1'
'information' => ''
'file' => ''
'name' => 'Иван'
'phone' => '82147483647'
'email' => ''
'oplata' => '20'
'fact_oplata' => '10'
'srok' => '2017-07-30 18:20:00'
'status' => ''
'prioritet' => ''
]
Client [
'id' => '41'
]
srok-zakaz-srok-disp '30 Июл 2017 18:20'
И в контроллере я пытался указать
public function actionUpdate($id)
{
$model = $this->findModel($id);
$client = new Client();
if ($model->load(Yii::$app->request->post())) {
$model->id_client = $client->load(Yii::$app->request->post());//Сюда должно вставиться из запроса 41, который получил от post-запроса
...
$model->validate();
if (!$model->save()) {
print_r($model->getErrors());
} else {
$model->save();
}
}
return $this->render('update', [
'model' => $model,
'client' => $client,
]);
}
Если так писать то пишет ошибку
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`crm`.`zakaz`, CONSTRAINT `zakaz_ibfk_6` FOREIGN KEY (`id_client`) REFERENCES `client` (`id`) ON UPDATE CASCADE)
The SQL being executed was: UPDATE `zakaz` SET `status`=0, `oplata`=20, `fact_oplata`=10, `number`=1, `phone`=2147483647, `id_client`=1 WHERE `id_zakaz`=1419
И тут я не пойму как вставить полученный из post запроса id