2017-03-17 2 views
0

Jquery Tag-it을 사용하고 있습니다. 내가 tag-it 값을 컨트롤러에 전달하고 var_dump(); 모든 값은 완벽하게 게시 만이 통과 할 때 문제는 내가 그것을 만 저장 마지막 값이 .. 밖으로 저를 도와주세요 것 dB로한다는tag-it 입력은 DB에 마지막 값만 저장합니다. laravel 5.4

<input type="text" value="" data-role="tagsinput" id="tags" name="wish-tags" class="form-control">

컨트롤러

$wishlist = Wishlist::firstOrNew(['user_id' => Auth::user()->id]); 
     if (!empty($wishlist)) { 
      $locations = $request->input('wish-tags'); 
      //var_dump($locations); exit(); 
      foreach (explode(",", $locations) as $location) { 

       $wishlist->update([ 
        'user_id' => Auth::user()->id, 
        'locations' => $location, 

       ]); 
      } 
     } 
+0

foreach 루프로 인해 발생합니다. 그러나 사용하는 데이터 구조와 관계를 보지 않고도이를 해결하는 방법은 분명하지 않습니다. 또한 태그를 저장하기 위해 일반적으로 다 대다 관계를 사용하려고합니다. –

+0

ok ..하지만 사용자 목록과 위시리스트 태그간에 다 대다 관계를 만드는 방법을 설명 해주시겠습니까? –

+0

피벗 테이블과 두 개의'belongsToMany()'관계를 만들어야합니다. https://laravel.com/docs/5.4/eloquent-relationships#many-to-many - 그 후에 태그를 동기화하기 위해'sync()'메소드를 사용하십시오. https://laravel.com/docs/5.4/eloquent-relationships#updating-many-to-many-relationships –

답변

0

시험해보기 :

$locations = $request->input('wish-tags'); 
//var_dump($locations); exit(); 
foreach (explode(",", $locations) as $location) { 
$wishlist = Wishlist::firstOrNew(['user_id' => Auth::user()->id, 'locations' => $location ]); 
     if (!empty($wishlist)) { 
      $wishlist->update([ 
      'user_id' => Auth::user()->id, 
      'locations' => $location, 
      ]); 
     } 
} 
+0

평소대로 DB에 저장된 마지막 값입니다. –