2014-11-25 2 views
0

이것이 확실하지만 내 체크 박스에서 선택한 항목을 잡고 텍스트로 텍스트 필드에 입력해야합니다. 나는 Laravel을 사용하고있다.laravel의 입력란에 입력 할 값을 여러 개의 체크 박스에서 가져옵니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까?

VIEW

<input type="checkbox" value="Item 1" name="other_info[]"> 
<input type="checkbox" value="Item 2" name="other_info[]"> 
<input type="checkbox" value="Item 3" name="other_info[]"> 

CONTROLLER 나는거야

$user = new User; 
$user->firstname = Input::get('firstname'); 
$user->other_info = Input::get('other_info'); 
$user->save(); 
+1

컨트롤러에 디버깅을 추가하여 현재 무엇을보고 있는지 확인해야합니다. 'dd (Input :: all())'과 같습니다. 'Input :: get ('other_info')'가 배열이라는 것을 알 수있을 것입니다. DB에 저장하기 전에'implode()'또는'json_encode()'하고 싶을 것입니다. – jszobody

답변

1

는 데이터베이스에 저장하려는 경우를 가정 해 보겠습니다. 내 질문은 "텍스트로 저장하는 이유는 무엇입니까?"입니다.

사용자가 데이터베이스에서 제공하는 옵션을로드하면 해당 ID로 db의 해당 필드를 참조 할 수 있습니다. 이렇게하면 로딩 시간이 향상되고 DB의 크기가 줄어 듭니다.

전체 이름을 가져 와서 저장하는 대신 DB의 값으로 입력을 작성하는 간단한 양식 매크로를 작성한 다음 배열로 전달해야합니다. 그런 다음 Input :: 값을 가져 와서 피벗 테이블에 첨부하여 원래 옵션을 참조하십시오.

또한 옵션을 삭제하면 모든 사용자 프로필에서도 분리됩니다. 사용자 프로파일에서 분리시키지 않고 옵션에 표시하지 않으려면 소프트 삭제를 조사하십시오.

+0

입력 해 주셔서 감사합니다. 나는 이것이 이상하게 보지 않을 것이며 프로젝트를 더 자세히 보았을 것이다. 이 필드는 원래 라디오 버튼이었으며 최근에 체크 박스로 변경해야했습니다. – user3189734

관련 문제