저는 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'])!!}
선택은 두 개의 열 저장에 필요한 두 가지 옵션으로 제한 male_parent
하고 female_ parent
의 animal
테이블.
양식 에는 male_parent
및 female_ parent
요소 이름 이 없습니다 . 마찬가지로 테이블에 animal_parent
필드가 없습니다 animal
.
값은 아래 주어진 코드에서 예상대로 설정됩니다. 그러나 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();`
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다