我在Laravel 5.4
中构建了一个小应用程序,其中我有模型:Interaction和InteractionSummary。每个交互可以由用户创建,并且每个交互摘要包含与之交互的公司的联系人。所以,我的下面是我的模型:嵌套雄辩laravel中的where子句
用户:
public function interactions()
{
return $this->hasMany('App\Interaction');
}
公司:
public function contacts()
{
return $this->belongsToMany('App\Contact', 'company_contact', 'company_id','contact_id');
}
联系人:
public function companies()
{
return $this
->belongsToMany('App\Company', 'company_contact','contact_id', 'company_id')->withTimestamps();
}
public function interactions()
{
return $this->belongsToMany('App\Interaction', 'contact_client_interaction','contact_id', 'interaction_id');
}
互动:
public function contactsAssociation()
{
return $this->belongsToMany('App\Contact', 'contact_interaction', 'interaction_id', 'contact_id')->withPivot('company_id')->withTimestamps();
}
public function interactionSummaries()
{
return $this->hasMany('App\InteractionSummary');
}
InteractionSummary
public function interaction()
{
return $this->belongsTo('App\Interaction');
}
public function client()
{
return $this->belongsTo('App\Company', 'company_id');
}
现在我想where子句找到InteractionSummary模型称为客户端的公司模式,并得到各会议的所有会议纪要的细节,所以我试过这样的:
$user = Auth::user();
$summaries = $user->interactions()
->whereHas('interactionSummary', function($query){
$query->where('client', 'like', '%'.$request->input.'%');
})->get();
它抛出错误
调用未定义的方法照亮\数据库\查询\生成器:: interactionSummary()
在这个任何建议都欢迎。由于
我想我也是这样做的。 –
@NitishKumar在你的问题,你正在做这个'$ user-> interact-> whereHas' –
我得到这个调用未定义的方法照亮\数据库\查询\ Builder ::交互()' –