This solution funktioniert gut für mich angerufen werden soll:
Erstellen Ihnen eine neue hasOne Beziehung auf dem verwandten Modell und fügen Sie eine rohe wählen, um die Abfrage für die Zählung. Zum Beispiel, wenn Sie die Anzahl der Aufgaben für einen bestimmten Benutzer zu eifrig laden möchten, fügen Sie diese im User-Model:
public function taskCount()
{
return $this->hasOne('App\Task')
->selectRaw('user_id, count(*) as count)
->groupBy('user_id');
}
Und dann eifrig Last der Graf wie folgt aus:
$user = User::where('email', $email)->with('taskCount)->first();
und Zugang die Anzahl wie folgt:
$taskCount = $user->task_count->count;
Diese sucht wirklich Gut und der Link, den Sie bereitstellen, enthält ein benutzerdefiniertes Accessor, das es noch einfacher macht. Ich muss nur bestätigen, dass es mit faul eifrigem Laden funktioniert und wir sind weg. – edlouth
Es wäre besser, wenn Laravel diese Funktion eingebaut haben mit Eloquent ... – fsasvari
Es tut. Überprüfe meine Antwort. – rzb