Ich habe 2 Modelle, ein Benutzermodell und ein Post-Modell. Ich versuche, eine Sammlung von Nutzern zu erhalten, die zwischen einem bestimmten Zeitraum gebucht haben. Ich bin einfach verloren, wie man die 2 Modelle zusammen bindet. Es gibt eine Eins-zu-Viele-Beziehung zwischen den beiden.Laravel Get Collection für eine Sammlung
Benutzermodell:
public function posts()
{
return $this->hasMany('App\Models\Post', 'user_id');
}
Also, ich möchte eine Sammlung von Benutzern, wo Beiträge sind zwischen Datum 1 & Datum 2 und wenn ein Benutzer Beiträge zwischen diesen Daten hat, habe ich eine Sammlung dieser Stellen möchten. Ich weiß, dass ich WhereBetween für einen Abfrage-Generator verwenden kann, aber kann ich das für eloquent verwenden? Wie sortiere ich das gesamte Benutzermodell nach denen, die diese Posts haben? Wie wäre es mit der Methode filter()?
$users = Users::all();
$users = $users->filter(function() {
foreach ($users as $user)
{
if ($user->posts->whereBetween(date 1, date 2))
{
return true; //something like that
}
}
});
Oder Sie verwenden 'whereHas' :) – Maraboc