public function setPricingGridColumns($beginning_column_id, $final_column_id = null) { $pricing_grid_columns_ids_arr = []; /** * @var $beginning_column_model \App\Models\PricingGridColumnModel */ $beginning_column_model = \App\Models\PricingGridColumnModel::find($beginning_column_id); \App\Helpers\Assistant::assertModel($beginning_column_model, 'Не найдено модели PricingGridColumnModel с идентификатором ID#' . $beginning_column_id); $pricing_grid_model = $beginning_column_model->pricing_grid(); \App\Helpers\Assistant::assertModel($pricing_grid_model, 'Не найдено связанной модели PricingGridModel с моделью PricingGridColumnModel ID#' . $beginning_column_id); $pricing_grid_columns_ids_arr[] = $beginning_column_model->id; $final_column_id = intval($final_column_id); if ($final_column_id) { $pricing_grid_columns_models = $pricing_grid_model->columns(); \App\Helpers\Assistant::assertNotEmpty($pricing_grid_columns_models, 'Модель PricingGridModel ID#' . $pricing_grid_model->id . ' не имеет ценовых колонок'); foreach ($pricing_grid_columns_models as $pricing_grid_column_model) { $pricing_grid_columns_ids_arr[] = $pricing_grid_column_model->id; if ($pricing_grid_column_model->id = $final_column_id) { break; } } \App\Helpers\Assistant::assert(in_array($final_column_id, $pricing_grid_columns_ids_arr)); } $this->pricing_grid_columns()->attach($pricing_grid_columns_ids_arr); return true; }