2016-08-02 6 views
0

in meinem Sinnes Modell habe ich diese Abfrage Hilfsmethodezwischen denen auf many-to-many-Beziehungen

public function asAroma() 
    { 
     return $this->belongsToMany('App\SensoryEvaluationForm')->wherePivot('sensory_type', '=', 2); 
    } 

Wie kann ich eine Anfrage an diese hinzufügen? Ich benutze es wie dieses

$cs = App\Sensory::first(); 
$cs->asAroma()->whereBetween('created_at', [$startingDate, $endingDate])->get(); 

Es gibt nichts zurück. Ich denke, dass es beim Erstellen von Abfragen mit Beziehungen einen anderen Weg gibt.

Was ich versuche ist, einen Wherebetween-Filter zur resultierenden Beziehung hinzuzufügen.

Antwort

0

ich bereits eine Antwort gefunden, es scheint, ich brauche den Tabellennamen des created_at angeben Attribut ich in diesem Fall beziehen möchten sensory_evaluation_forms.created_at

1

Verwenden Sie WhereHas() und übergeben Sie einen Rückruf an es.

CsModel::with('asAroma')->whereHas('asAroma', function($query) use ($start, $end) { 
    $query->whereBetween('created_at', [$start, $end]); 
})->get(); 
+1

Oft sehe ich diese Antworten und es funktioniert, aber ich habe einen einfacheren Weg gefunden. Überprüfe meine Antwort. Danke für deine Antwort :) – Wreigh

+0

Neuer Trick, danke :) – wonyeouuu

+0

yeah, ich habe gerade versucht und mich selbst gewundert, dass es XD funktioniert hat – Wreigh

Verwandte Themen