Php 无法在Laravel 5.1中保存选择框选项
我正在使用Laravel 5.1进行我的第一个项目。在表单中使用选择框Php 无法在Laravel 5.1中保存选择框选项,php,mysql,drop-down-menu,eloquent,laravel-5.1,Php,Mysql,Drop Down Menu,Eloquent,Laravel 5.1,我正在使用Laravel 5.1进行我的第一个项目。在表单中使用选择框 {!!Form::select('animal_parent[]', array('1' => 'opt1', '2' => 'opt2', '3' => 'opt3', '4' => 'opt4',), null, ['id' => 'animal_parent', 'disabled' => 'disabled', 'multiple' => 'multiple',
{!!Form::select('animal_parent[]', array('1' => 'opt1', '2' => 'opt2', '3' => 'opt3', '4' => 'opt4',), null, ['id' => 'animal_parent', 'disabled' => 'disabled', 'multiple' => 'multiple', 'class' => 'form-control'])!!}
选择仅限于两个选项,需要保存在动物
表的雄性父母
和雌性父母
两列中
表单中没有男性家长
和女性家长
元素名称。类似地,animal
表中没有animal\u parent
字段
在下面给出的代码中按预期设置值。但是,insert命令不反映新设置的值并抛出错误
helpers.php第671行中的ErrorException:preg_replace():参数不匹配,模式为字符串,而替换为数组
任何帮助都将不胜感激
第一次尝试使用变异体
public function setMaleParentAttribute()
{
$parent = Input::get('animal_parent');
$this->attributes['male_parent'] = intval($parent[0]);
}
public function setFemaleParentAttribute(AddAnimalRequest $request)
{
$parent = Input::get('animal_parent);
if (isset($parent[1])) {
$this->attributes['female_parent'] = intval($parent[1]);
} else {
$this->attributes['female_parent'] = intval($parent[0]);
}
unset($request->animal_parent);
}
第二次尝试在控制器中使用store()
方法
$animal = new Animal($request->all());
$parent = Input::get('animal_parent');
$animal['male_parent'] = intval($parent[0]);
if (isset($parent[1])) {
$animal['female_parent'] = intval($parent[1]);
} else {
$animal['female_parent'] = intval($parent[0]);
}
unset($request->animal_parent);
Auth::user()->animals()->save($animal);
return redirect('animals');
然后通过更改UI解决了问题。我觉得这个问题可以用下面的方法解决。希望这能帮助别人
$input = $request->all();
$parent = $input['animal_parent'];
$input['male_parent'] = intval($parent[0]);
if (isset($parent[1])) {
$input['female_parent'] = intval($parent[1]);
} else {
$input['female_parent'] = intval($parent[0]);
}
unset($input['animal_parent']);
$animal = new Animal($input);
$animal->save();`
然后通过更改UI解决了问题。我觉得这个问题可以用下面的方法解决。希望这能帮助别人
$input = $request->all();
$parent = $input['animal_parent'];
$input['male_parent'] = intval($parent[0]);
if (isset($parent[1])) {
$input['female_parent'] = intval($parent[1]);
} else {
$input['female_parent'] = intval($parent[0]);
}
unset($input['animal_parent']);
$animal = new Animal($input);
$animal->save();`
然后通过更改UI解决问题。然后通过更改UI解决问题。