public function actionCreate()
{
$model = new DishesGroupSm();
$dishesItems = ArrayHelper::map(Dishes::find()->all(), 'id','title');
$groupsItems = ArrayHelper::map(Groups::find()->all(), 'id','title');
if ($model->load(Yii::$app->request->post())) {
$dishes = Yii::$app->request->post('DishesGroupSm')['dishes_id'];
$group = Yii::$app->request->post('DishesGroupSm')['group_id'];
DishesGroupSm::deleteAll(['group_id' => $group]);
foreach($dishes as $item){
$groupItem = new DishesGroupSm();
$groupItem->dishes_id = $item;
$groupItem->group_id = $group;
$groupItem->save();
}
return $this->redirect('index');
} else {
return $this->render('create', [
'model' => $model,
'dishesItems' => $dishesItems,
'groupsItems' => $groupsItems
]);
}
}
тут все просто я принимаю post параметры, разбираю на участки, удаляю старые записи
$dishesItems = ArrayHelper::map(Dishes::find()->all(), 'id','title');$dishes = Yii::$app->request->post('DishesGroupSm')['dishes_id'];
$group = Yii::$app->request->post('DishesGroupSm')['group_id'];$post = Yii::$app->request->post();
// и использовать
$post['DishesGroupSm']['dishes_id'];
$post['DishesGroupSm']['group_id'] $query = DishesGroupSm::find()->distinct(['group_id']);$query = DishesGroupSm::find()->select('group_id')->distinct();[
'attribute' => 'groups.title'
],
>
но в этом случае, я не могу использовать[ 'attribute' => 'groups.title' ],
[
'attribute' => 'title',
'value' => 'groups.title'
// или
'value' => function($model){
return $model->groups->title;
}
],