2016-08-16 52 views
1

內我有一個多選形式存儲多個在contactclient_idlaravel口才 - 匹配數據存儲陣列

{!! Form::select('client_id[]', $clients, null, ['multiple'=>true]) !!} 

當我顯示一個單獨的客戶端,我希望顯示相關的觸點。

client模型爲1:一對多的關係定義爲:

public function contact() 
{ 
    return $this->hasMany('App\Models\contact'); 
} 

通常情況下,對於非陣列的項目,我會用:

$contacts = $client->contact()->get(); 

獲取相關聯繫人,但隨着client_id作爲數組存儲在我的contact表中,如何獲取此數據?

回答

1

我真的覺得你只是想這樣的:

$contacts = $client->contact()->lists('id', 'name')->toArray(); 

注意,你沒有指定Laravel的版本,但在5.1+列表返回一個Illuminate\Support\Collection實例,但在以前的版本中,它返回一個Array

旁註

hasMany關係應該被定義爲複數而不是單數:

public function contacts() 

這絕不是必需的,但它更好地定義你的關係類型。

+0

這不起作用。它與「2」,「3」'數組內的'2'的client_id不匹配 –