Я создаю небольшое приложение в Laravel 5.4
, где у меня есть модели: Interaction и InteractionSummary. Каждое Взаимодействие может быть создано Пользователем, и каждое резюме Взаимодействия содержит Контакт Компании, с которой он взаимодействовал. Итак, мои следующие модели:
Пользователь:
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');
}
Обзор взаимодействия
public function interaction()
{
return $this->belongsTo('App\Interaction');
}
public function client()
{
return $this->belongsTo('App\Company', 'company_id');
}
Теперь я хочу получить предложение where, чтобы найти модель Company, упоминаемую как клиент в модели InteractionSummary, и получить все сводные данные каждой встречи, поэтому я попробовал что-то вроде этого:
$user = Auth::user();
$summaries = $user->interactions()
->whereHas('interactionSummary', function($query){
$query->where('client', 'like', '%'.$request->input.'%');
})->get();
Выдает ошибку
Вызов неопределенного метода Illuminate\Database\Query\Builder::interactionSummary()
Любые предложения в этом приветствуются. Спасибо