$month = $request->get('month');
$matrixTypeId = $request->get('matrix_type_id');
- // Убираем дублирование joinWith
if ($year || $month) {
$query->joinWith('bouquetForecast as bf');
}
$query->andWhere(['mth.matrix_type_id' => $matrixTypeId, 'mth.is_active' => BouquetCompositionMatrixTypeHistory::IS_ACTIVE]);
}
- // Предотвращаем дубликаты записей из-за join
$query->groupBy('bouquet_composition.id');
$dataProvider = new \yii\data\ActiveDataProvider([
if ($data['matrix_type_id']) {
BouquetCompositionMatrixTypeHistory::setData($data['matrix_type_id'], $model->id);
}
- if ($model->save()) {
- return $this->redirect(['index']);
- }
+
$month = $data['month'];
$year = $data['year'];
}
}
+ if ($data['products_quantity']) {
+ $bouquetProducts = Yii::$app->request->post('products_quantity');
+ foreach ($bouquetProducts as $key => $value) {
+ $product = new BouquetCompositionProducts([
+ 'bouquet_id' => $model->id,
+ 'product_guid' => $key,
+ 'count' => $value
+ ]);
+ $product->save();
+ }
+ }
+
+ if ($model->save()) {
+ return $this->redirect(['view', 'id' => $model->id]);
+ }
}
<?php use app\widgets\DualList;
use yii\helpers\Html;
-use yii\widgets\ActiveForm;
-
-//$form = ActiveForm::begin(['id' => 'dual-list-form']); ?>
+?>
<?= DualList::widget([
'name' => 'products',
'availableLabel' => 'Выбор',
<?php } ?>
</div>
-<?php //ActiveForm::end(); ?>
\ No newline at end of file
<?= Html::button('Применить', ['class' => 'btn btn-primary w-100 mb-3', 'id' => 'apply-button']) ?>
</div>
<div class="col-md-8">
+ <?php $form = ActiveForm::begin(['id' => 'dual-list-form']); ?>
<div class="row mb-5"></div>
<?= $this->render('_product_edit', [
'availableItems' => $availableItems,
'isCreate' => false,
'listContainerSize' => [],
]); ?>
- </div>
+ <?php ActiveForm::end(); ?>
+ </div>
\ No newline at end of file