gpt4 book ai didi

php - 无法在 Laravel 5.1 中保存选择框选项

转载 作者:行者123 更新时间:2023-11-30 22:32:45 24 4
gpt4 key购买 nike

我正在使用 Laravel 5.1 开发我的第一个项目。在表单中使用选择框。

  {!!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 表的 male_parentfemale_parent 两列中。

表单中没有male_parentfemale_parent 元素名称。同样,animal 表中没有 animal_parent 字段。

值在下面给出的代码中按预期设置。但是,插入命令不反射(reflect)新设置的值并抛出错误。

"ErrorException in helpers.php line 671: preg_replace(): Parameter mismatch, pattern is a string while replacement is an array."

如有任何帮助,我们将不胜感激。

第一次尝试使用修改器

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);
}

第二次尝试在 Controller 中使用 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();`

关于php - 无法在 Laravel 5.1 中保存选择框选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com