2017-02-24 4 views
2

Ich habe Kurse und Abonnement-Typen. Ein abonnierter Benutzer hat einen Abonnementtyp, ich möchte alle Kurse, die ein Benutzerabonnementtyp abgleicht.Laravel 5 Beziehung funktioniert nicht

Mein Versuch (die die Kurse alle zurückkehrt, nicht nur die richtigen):

$courses = Course::has('maintask')->with(['subscriptionType' => function ($q) use ($user) 
     { 
      return $q->where('subscription_type_id',$user->subscription[0]->subscription_type_id)->where('status','1'); 
     }])->get(); 

Irgendwelche Tipps?

Danke!

Antwort

3

Verwendung whereHas():

$courses = Course::has('maintask') 
    ->whereHas('subscriptionType', function ($q) use ($user) { 
     $q->where('id', $user->subscription[0]->subscription_type_id) 
      ->where('status', 1); 
    })->get(); 
+1

Dank !! das funktioniert – user3844579

Verwandte Themen