【发布时间】:2019-11-18 13:09:11
【问题描述】:
我的 Laravel crud 注册申请有问题。 有这些表:Registration、ExtraRegistration(带有registration_id、extra_id和extraoptions_id), Extra 和 ExtraOptions(带有 Extra_id)。
在 RegistrationController 中,当我添加一个 Registration 时,它会在 ExtraRegistration 中创建一个带有 extraoptions_id 和 extra_id 的新记录。 extra_id 是选项的名称,extraoptions_id 是您选择的选项的 id。
但是现在,当您单击编辑记录时,它会显示所有信息。问题是当您更改额外选项时,它会创建另一条记录,而不是更改选择。 而且当你编辑了一些东西并再次查看它时,它仍然会显示你编辑之前的选项。
注册控制器
$options = Extra::where("exa_form_id", $distance->asd_form_id)->get();
foreach($options as $option){
$input_name = "option_" . $option->exa_id;
$input_option = $request->$input_name;
if(!is_null($input_option)){
$input_name_extra = "extraoptions_" . $option->exa_id;
$input_option_extra = $request->$input_name_extra;
$registrationextra = new ExtraRegistration();
$registrationextra->iea_registration_id = $registration->isg_id;
$registrationextra->iea_extra_id = $input_option;
$registrationextra->iea_extraoption_id = $input_option_extra;
$registrationextra->iea_price = $option->exa_price;
$registrationextra->save();
}
}
$registration->isg_options = $input_option;
$registration->isg_option_extra_id = $input_option_extra;
编辑: 我想要在它进行新的 ExtraRegistration 之前进行检查。如果注册中的价格已经存在于该registration_id(在ExtraRegistration中),它不会在ExtraRegistration中创建另一条记录。 我想使用 if 来解决问题,但不知道从哪里开始..
提前致谢!
【问题讨论】: