mia associazione si presenta così (codice irrilevante redatto):usando una portata di query in un laravel collezione
class Association extends Model
{
public function members() {
return $this->hasMany('App\Member');
}
}
Il mio modello Gli assomiglia a questo:
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');
}
}
Questo è quello che voglio essere in grado di fare:
$association = Association::find(49);
$association->members->active()->count();
Ora, sono a conoscenza che c'è una differenza tra una query e una raccolta. Ma quello che sostanzialmente chiedo è se esiste una sorta di ambito simile per le collezioni. Ovviamente, la soluzione ottimale sarebbe non dover scrivere DUE metodi attivi, ma usarne uno per entrambi gli scopi.
Does '$ association-> members() -> active() -> count();' lavoro? –
Wow. Immagino di essermi ingannato permettendomi di fare '$ associazione-> membri' Grazie! – Pistachio
Se fai solo '$ associazione-> membri' otterrai tutti i membri associati, non solo quelli attivi una volta ... Solo così sai –