Я пытаюсь получить уведомления всех пользователей, и в зависимости от того, является ли пользователь покупателем или продавцом (может быть и тем, и другим). Я сделал две функции в своей таблице уведомлений, чтобы отфильтровать друг друга. Моя цель в конечном итоге запустить:
$notifications = Auth::user()->notifications()->getBuyerNotifications();
или
$notifications = Auth::user()->notifications()->getSellerNotifications();
Я столкнулся с проблемой: Call to undefined method Illuminate\Database\Eloquent\Relations\HasMany
Модель пользователя:
public function notifications() {
return $this->hasMany('App\Notification', 'user_id', 'id');
}
Модель уведомлений:
public function user() {
return $this->belongsTo('App\User', 'id', 'user_id');
}
public static function getBuyerNotifications() {
return self::whereNotNull('buyer_id')
->whereNull('deleted_at')
->get();
}
public static function getSellerNotifications() {
return $this->whereNotNull('seller_id')
->whereNull('deleted_at')
->get();
}
Команда, которую я хочу запустить, чтобы получить уведомления всех пользователей, если они являются покупателем: $notifications = Auth::user()->notifications()->getBuyerNotifications();