Mein Verband Modell wie dieses (irrelevant Code redigiert) Mit aussieht:einen Abfragebereich in einer Sammlung Laravel
class Association extends Model
{
public function members() {
return $this->hasMany('App\Member');
}
}
Mein Mitglied Modell sieht wie folgt aus:
class Member extends Model
{
public function scopeActive($query) {
return $query->where('membership_ended_at', Null);
}
public function scopeInactive($query) {
return $query->whereNotNull('membership_ended_at');
}
}
Dies ist, was ich will in der Lage zu tun:
$association = Association::find(49);
$association->members->active()->count();
Nun, ich bin mir dessen bewusst ein Unterschied zwischen einer Abfrage und einer Sammlung gibt. Aber was ich im Grunde frage ist, ob es einen ähnlichen Umfang für Sammlungen gibt. Die optimale Lösung wäre natürlich, keine ZWEI aktiven Methoden schreiben zu müssen, sondern eine für beide Zwecke zu verwenden.
Hat '$ association-> members() -> active() -> count();' Arbeit? –
Wow. Ich schätze, ich habe mich dadurch täuschen lassen, dass ich '$ association-> members 'machen konnte Danke! – Pistachio
Wenn du nur '$ association-> members 'machst, bekommst du alle assoziierten Mitglieder, nicht nur die aktiven Mitglieder ... Nur damit du es weißt –