Если вы хотите использовать методы отношений, вы должны сначала получить объект группы, а затем вызвать их.Также, пожалуйста, переименуйте hasContacts()
в contacts()
, чтобы следовать соглашениям.
$group = Group::find($request->groupid);
if (!$group) {
# group not found
}
$clientPhoneNumbers = $group->clients()->where('status', 1)->pluck('phone')
$contactPhoneNumbers = $group->contacts()->where('is_active', 1)->pluck('phone')
Это использует pluck, чтобы получить один столбец как красноречивый Collection
.Вы можете использовать $clientPhoneNumbers->toArray()
, чтобы получить телефонные номера в виде массива (и аналогично для других Collection
).
Модель группы:
public function clients()
{
return $this->hasMany('App\Client', 'group_id', 'id');
}
public function contacts()
{
return $this->hasMany('App\Contact', 'group_id', 'id');
}