2016-07-10 52 views
-1

我已經存儲在數據庫中多選值作爲字符串中laravel選擇的值選擇填充多用5.2

enter image description here

現在試圖在需要修改的值來獲取這個突出的字符串數組並將其發送到編輯視圖,以便我可以使用此選定值填充多重選擇。

我的視圖代碼多選擇

<div class="form-group"> 
          <label class="control-label col-md-3">News For 
           <span class="required" aria-required="true"> * </span> 
          </label> 
          <div class="col-md-4"> 
            {!! Form::select('news_todisplay[]',['users'=>'Users','staff'=>'Staff','cinemahall'=>'Cinemahall'],$todisplayarray,array('class'=>'form-control','multiple'=>'multiple')) !!} 


           </select> 
          </div> 
         </div> 

其中$ todisplayarray是這個數組中取出從數據庫即它們是用戶,員工,cinemahall

我的控制器代碼

public function edit($id) 
{ 

    $newsdetails=General_news::findOrFail($id); 
    $todisplayarray=explode(',',$newsdetails->news_todisplay); 
    return view('admin.editnews',compact('newsdetails','todisplayarray')); 
} 

頁查看源顯示此

<select class="form-control" multiple="multiple" name="news_todisplay[]"><option value="users">Users</option><option value="staff">Staff</option><option value="cinemahall" selected="selected">Cinemahall</option></select> 

這隻顯示最後一個選定的值,因爲它應該顯示3個選定的值。

請讓我知道我要去哪裏錯了。

回答

0

找到下面的答案

<?php 
//get the old values from form 
$old = old('category'); 

//get data from database table field 
$cate= explode(',',$data->category_ids); 

//stay the values after form submission 
if($old){ $cate=$old; } 
?> 
<select id="categories" name="category[]" multiple> 
    @foreach ($categories as $val) 
     <option value="{{ $val->id }}" <?php echo in_array($val->id,$cate)?"selected" :"" ;?> >{{ ucfirst($val->category_name) }}</option> 
    @endforeach 
</select> 

我用循環使用的ID的類別和數據與存儲在表中的數據