[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Yii2 Добавить данные в связующую таблицу
dvs
есть три таблицы:
ClientFace(id,name1, name2, name3), //контактное лицо
ClientFirm(id,name,inn),//фирма
ClientFaceXClientFirm(id,client_face_id,client_firm_id)//связующая таблица с внешними ключами

//При добавление контактного лица, может быть get параметр с id фирмы(если добавляем из просмотра фирмы) для связующей таблицы.
ClientFaceController

public function actionCreate()
{
$model = new ClientFace();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
if(!empty($_GET['firm']) && $firm = (int)$_GET['firm']) {
$via = new ClientFaceXClientFirm();
if($via->load(['ClientFaceXClientFirm' =>
[

'client_face_id' => $model->id,
'client_firm_id' => $firm,
]
]) &&
$via->save()) {
return $this->redirect(['firm/view', 'id' => $firm]);
}
}


return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);

}
}


Все прекрасно работает!
Есть сомнения в правильности кода и нужно ли выносить в модель запись в связующую таблицу?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.