Je construis une petite application dans Laravel 5.4
où je suis ayant des modèles: Interaction et InteractionSummary. Chaque interaction peut être créée par un utilisateur et chaque résumé d'interaction contient le contact d'une entreprise interagit avec. Donc, mon suivant est mes modèles:Eloquent où la clause dans laravel
utilisateur:
public function interactions()
{
return $this->hasMany('App\Interaction');
}
Société:
public function contacts()
{
return $this->belongsToMany('App\Contact', 'company_contact', 'company_id','contact_id');
}
Contact:
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');
}
Interaction:
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');
}
Maintenant, je veux aller là où l'article pour trouver le modèle Company mentionné en tant que client dans le modèle InteractionSummary et obtenir tous les détails de résumé de la réunion de chaque réunion, donc J'ai essayé quelque chose comme ceci:
$user = Auth::user();
$summaries = $user->interactions()
->whereHas('interactionSummary', function($query){
$query->where('client', 'like', '%'.$request->input.'%');
})->get();
Il lance l'erreur de
Appel à la méthode définie Illuminate \ Database \ Query \ Builder :: interactionSummary()
Toutes les suggestions dans ce sont les bienvenus. Merci
Je suppose que je fais la même chose. –
@NitishKumar Dans votre question, vous faites ce '$ utilisateur-> interactions-> whereHas' –
Je reçois ceci' Appel à la méthode non définie Illuminate \ Database \ Query \ Builder :: interactions() ' –