2015-08-21 149 views
0

在我的創造功能,我做Laravel 5獲得選擇選項值

$clients = Client::lists('clientName'); 
return View::make('projects.create', compact('clients')); 

在我看來,那我做這個

{!! Form::select('clientName', $clients, Input::old('clients'), ['class' => 'form-control']) !!} 

填充選擇當我查看HTML,我看像下面

<select name="clientName" id="clientName" class="form-control"> 
    <option value="0">John Dandy</option> 
</select> 

現在在我的存儲功能,我需要得到的價值約翰·丹迪,不是0。如果我做

$clientName = Input::get('clientName'); 

我得到0.我怎樣才能將值設置爲clientName或獲取我的存儲功能中的選項?

感謝

+0

你想通過'llsts'方法返回的數組是一個關鍵=>值對,如果是的話,做了什麼您希望_key_值爲該人的姓名。 –

+0

我不介意一個關鍵值對。它們都可以是clientName。謝謝 –

回答

2

如果只指定一個參數爲lists方法,它將返回自動映射到開始0一個計數器關鍵部分值的數組(這就是爲什麼你得到就是那個0 )。

但是,使用Laravel的查詢生成器方法lists,您可以指定自定義關鍵列作爲第二個參數(Documentation)。

所以,如果你要得到一個鍵值對其中作爲密鑰本身,你可以做到以下幾點:

$clients = Client::lists('name', 'name'); 

或者,如果你想要一個ID = >客戶陣列:

$clients = Client::lists('name', 'id');