In Laravel 5.4, ich meine Beziehung haben:Laravel 5: Count Produkt nach Kategorie, in der nur aktiv Produkt
public function products()
{
return $this->hasMany(Product::class);
}
public function category()
{
return $this->belongsTo(Category::class);
}
Und meine Frage ist:
$x = Category::with('products')->where('active', 1)->get();
Es tut richtig alle Kategorienamen zeigen, aber wie zählt man nur Produkt 'active = 1'? Ich möchte nicht alle Produkte, sondern nur aktive Produkte zählen.
Großartig! Es funktioniert genau so, wie ich es möchte. Danke, kambythet – Devith
Zwischen diesem Weg und wählen Sie zwei Tabellen, welche die beste führt? – Devith
Ein Join wird im Allgemeinen besser funktionieren, solange Ihre Indizes vorhanden sind. Spalte Charset und Kollation sind bei beiden identisch (für textbasierte Spalten). Dies liegt am Datenbankoptimierer. Bei Verwendung der Laravel-Methoden, wie sie hierin beschrieben sind, werden zwei Abfragen ausgeführt, anstatt nur eine. – kambythet