2016-08-16 47 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不匹配 –