2016-09-15 4 views
0

데이터베이스에 카운티 배열을 저장하려고합니다.선택 필드의 배열 저장

<select size="5" name="county[]" multiple class="form-control-2"> 
<option value="" selected="" disabled="">All Counties</option> 
@if (isset($counties)) 
    @foreach ($counties as $c) 
     <option value="{{ $c->name }}">{{ $c->name }}</option> 
    @endforeach 
@endif 

내 컨트롤러는 다음과 같습니다 : 여기 내 블레이드의

// Store the property Alert 
public function propertyAlert(PropertyAlertRequest $request) 
{ 
     $action = PropertySubscribe::create($request->all()); 
     $action = PropertySubscribe::create([ 
      $action->county = Input::get('county'), 
      ]); 
     $action->save(); 

    notify()->flash('Registered!', 'success', ['text' => 'You have now been registered.']); 
    return back(); 
} 

나는 점점 오전 오류는 다음과 같습니다

preg_replace(): Parameter mismatch, pattern is a string while replacement is an array 

는 사람이 나에게 내가 무엇을 이해하는 데 도움이 잘못하고있는거야? 배열로 보내고 dd가 값을 성공적으로 표시하고 있습니다. 배열 항목을 foreach해야합니까?

foreach(Input::get('county') as $county) 
{ 
    PropertySubscribe::create([ 
     $action->county = $county, 
    ]); 
} 
+1

이유는 의존성 삽입 (Dependency Injection)와 외관을 믹스 : 당신의 select multiple

이 시도하기 때문에 – Devon

답변

0

Input::get('county')

는, 배열을 반환? `Input ::`을 사용할 필요가 없도록 $ 요청을 주입했다. `$ request-> input ('county')`를 사용하십시오.
+0

고마워, 그래도 여전히 preg_replace 오류가 발생합니다! –

+0

@PaoloResteghini 그럼 PropertySubscribe :: create는 무엇을 기대합니까? 귀하의 질문에 다차원 배열을 전달하는,이 단일 차원 배열입니다. – Devon

+0

나는 오타라고 생각합니다. '$ action-> county => $ county '하지만 여전히 의미가 없으므로 왼쪽은 열의 이름이어야합니다. – user3158900