我在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 ::交互()' –