2016-08-16 25 views
1

内に格納された一致データIがcontactテーブル内の複数client_idを格納するための複数選択の形式を持っている:私は、個々のクライアントを示す場合laravelの雄弁 - アレイ

{!! 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

私は本当にあなたがちょうどこの欲しいと思う:あなたはLaravelのバージョンを指定しますが、5.1+リストにIlluminate\Support\Collectionインスタンスを返しますが、以前のバージョンでは、それはArrayを返しませんでした

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

注意を。

あなたhasMany関係が複数と単数ないように定義する必要があります

追記:

public function contacts() 

これは何のことではありません要件を意味し、それは、より良いあなたの関係のタイプを定義します。

+0

これは機能しません。 '2'、 '3' 'の配列内の' 2'のclient_idと一致しません –