Я хотел бы объяснить мою проблему четко, Am помощью wbraganca/yii2-dynamicform Здесь create actio
п работает отлично, но в update
действия Yii2 Динамическое обновление формы действий не работает
В коде, который я отметил, я не» я знаю, что мне нужно сделать, у меня нет такого поля (addresses)
в customer
таблице. Я застрял на этом.
предположим, если я создать переменную в модели как public $addressess
, это делает меня перезарядку стол еще раз, и эту причину, а обновить ту же форму, данных становится перезарядку и форма просмотра, как пустой, без пустой,
если создать функция на это имя, я не знаю, что писать об этом .. Am просто используя код как этот
public function getaddressess()
{
}
Создать код Действие
public function actionCreate()
{
$modelCustomer = new Customer;
$modelsAddress = [new Address];
if ($modelCustomer->load(Yii::$app->request->post())) {
$modelsAddress = Model::createMultiple(Address::classname());
Model::loadMultiple($modelsAddress, Yii::$app->request->post());
// ajax validation
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ArrayHelper::merge(
ActiveForm::validateMultiple($modelsAddress),
ActiveForm::validate($modelCustomer)
);
}
// validate all models
$valid = $modelCustomer->validate();
$valid = Model::validateMultiple($modelsAddress) && $valid;
if ($valid) {
$transaction = \Yii::$app->db->beginTransaction();
try {
if ($flag = $modelCustomer->save(false)) {
foreach ($modelsAddress as $modelAddress) {
$modelAddress->customer_id = $modelCustomer->id;
if (! ($flag = $modelAddress->save(false))) {
$transaction->rollBack();
break;
}
}
}
if ($flag) {
$transaction->commit();
return $this->redirect(['view', 'id' => $modelCustomer->id]);
}
} catch (Exception $e) {
$transaction->rollBack();
}
}
}
return $this->render('create', [
'modelCustomer' => $modelCustomer,
'modelsAddress' => (empty($modelsAddress)) ? [new Address] : $modelsAddress
]);
}
Помогите мне разобраться в этой проблеме
Am также сталкивается с той же проблемой, ответ будет оценил ... –
какие у вас ошибки? Более конкретно. –
Просьба предоставить alse код actionCreate ... – scaisEdge