public function eachRelatedProperties($model, $action)
{
try {
$formData = [];
parse_str(\Yii::$app->request->post('formData'), $formData);
if (!$formData) {
return false;
}
if (!($content_id = ArrayHelper::getValue($formData, 'content_id'))) {
return false;
}
if (!($fields = ArrayHelper::getValue($formData, 'fields'))) {
return false;
}
/**
* @var CmsContent $content
*/
$content = CmsContent::findOne($content_id);
if (!$content) {
return false;
}
$element = $content->createElement();
$relatedProperties = $element->relatedPropertiesModel;
$relatedProperties->load($formData);
/**
* @var $model CmsContentElement
*/
$rpForSave = $model->relatedPropertiesModel;
foreach ((array) ArrayHelper::getValue($formData, 'fields') as $code) {
if ($rpForSave->hasAttribute($code)) {
$rpForSave->setAttribute($code, ArrayHelper::getValue($formData, 'RelatedPropertiesModel.' . $code));
}
}
return $rpForSave->save(false);
} catch (\Exception $e) {
return false;
}
}