2014-07-20 48 views
0

我想填充一個'編輯表單'與我應該從數據透視表中獲取的數據。Laravel 4 - 填充表單選擇多個數據透視表

我在編輯一個名爲'Actividad'的東西。而'Actividad'有一些'材料'。 「創建」(ACTIVIDAD)形式的正常工作,但我不能用我的「編輯」的形式處理...

我的編輯形式:

{{ Form::label('material_id', 'Material necesario:') }} 
{{ Form::select('material_id[]', $material_id, Input::old('material_select'), array('multiple')) }} 

在我的控制器我有這樣的:

$material_id = DB::table('materials')->orderBy('nombre', 'asc')->lists('nombre', 'id'); 

有了這個,我將每個'材料'存儲在我的數據庫中。但我認爲我需要一些代碼來傳遞給我的表單一個變量,只有與這個'Actividad'相關的材料...

有關如何獲取這些數據以及如何在我的表單中使用它的任何想法?

預先感謝您!

回答

1

對於belongsToMany你需要加載相關的收集和調用它lists

// assuming relation materials on Actividad model: 
$actividad->materials->lists('nombre','id'); 

hasMany關係,你可以這樣做:

$model->relation()->lists('name','id'); 

後者將節省您加載的模型集合,但不幸的是,目前沒有辦法使其與透視表一起工作。


實際上,您只想獲取所選選項的數據,對嗎?

然後:

$selected = $actividad->materials->lists('id'); 
+0

非常感謝!它工作完美。但我怎麼做才能顯示所選的選項?我想要顯示所有的選項,但選擇已選擇的選項,如選擇...我不知道我是否足夠清楚...:S – JaviZu

+0

將'$ selected'數組傳遞給'Form ::'的第三個參數。選擇' –

+0

我已經完成了 – JaviZu

相關問題