2017-07-18 6 views
1

Aktuelle Beziehungen:Eloquent Abfrage Rückkehr nicht die erwarteten Ergebnisse aus whereHas

  • A Clinic hasMany Consultants
  • A Consultant belongsToMany Behandlungen (Pivot-Tabelle Beziehung)

A Die Klinik hat möglicherweise keine Berater, und ein Berater hat möglicherweise keine Behandlungen. Ich möchte nur Kliniken, die has Berater, die has Behandlungen, die eine Behandlung, die $treatment_id entspricht entspricht (daher die has Existenzprüfung) zurückgeben.

Aktuelle Versuch (die 0 Ergebnisse zurückgibt):

clinic::whereHas('consultants.treatments', function ($query) use ($treatment_id) { 
       $query->where('treatment_id', $treatment_id); 
      }) 
     ->paginate(10); 

Ich fühle mich benötige ich eine whereHas innerhalb der whereHas Funktion, um zunächst festzustellen, ob ein Berater Behandlungen, aber wenn diese Logik korrekt ist, Wie kann ich es innerhalb der Funktion angehen?

Ich erwarte 3 Ergebnisse zurückgegeben werden, aber es ist zur Zeit 0.

Wie kann ich das erreichen? Danke vielmals,.

Antwort

0

Da es zu viele viele ist, sollte es sein:

Clinic::whereHas('consultants.treatments', function ($query) use ($treatment_id) { 
     $query->where('id', $treatment_id); 
    }) 
    ->paginate(10); 
Verwandte Themen