#model основная модель
#dynamicModel - динамичная модель
#fields - набор параметров
//Загружаю данные из модели
if( $model->load(Yii::$app->request->post()) && $dynamicModel->load(Yii::$app->request->post()) {
//Проводим валидацию моделей
if($model->validate() && $dynamicModel->validate()){
//Сохраняю основную модель
$model->save();
//Перебираю массив полей
foreach ($fields as $field) {
//Проверяю содержит ли поле массив
if(is_array($dynamicModel->{$field->name})){
//Перебираю все значения значения
foreach ($dynamicModel->{$field->name} as $_value)
{
$value = new FieldValue();
$value->field_id = $field->id;
$value->model_id = $model->id;
$value->option_id = $_value;
$value->save();
}
} else {
//Иначе просто сохраняем значение не перебирая данные
$value = new FieldValue();
$value->field_id = $field->id;
$value->model_id = $model->id;
$value->option_id = $dynamicModel->{$field->name};
$value->save();
}
}
}
}
То есть я могу получить нужные мне данные как
$component = $component->getDamages()->andWhere(['id' => $car->id])->all()
так например
$component = $component->getDamages($car->id)->all();
В общем большое вам спасибо за ваше терпение. В ваших примерах я многое почерпнул для себя.