Laravel объем динамический - PullRequest
0 голосов
/ 13 января 2020

Мне нужно получить уведомление зарегистрированного пользователя по области, но оно возвращает App\User::notifications must return a relationship instance.

Код

layout

@auth
    @if(auth::user()->notifications > 0)
        <div class="alert alert-success alert-dismissible">
            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
            <ul>
                @foreach (auth::user()->notifications as $notification)
                    <li>{{$notification->subject}}</li>
                @endforeach
            </ul>
            <strong>Success!</strong> Indicates a successful or positive action.
        </div>
    @endif
@endauth

User model

public function notifications() {
  // return $this->hasMany(ProjectBroadcastApplicant::class);
  $notifications = ProjectBroadcastApplicant::where('user_id', $this->id)->get();
  return $notifications;
}

ProjectBroadcastApplicant model

public function user() {
  return $this->belongsTo(User::class);
}

Где я допустил ошибку?!

Ответы [ 2 ]

1 голос
/ 13 января 2020

Обновление вашего пользователя. Модель:

public function notifications() {
    return $this->hasMany(ProjectBroadcastApplicant::class);
}

Если вы хотите отфильтровать уведомление для пользователя, вы можете добавить условие с определением отношения.

0 голосов
/ 13 января 2020

Решено

Я изменил свою модель пользователя на эту

public function notifications() {
  return ProjectBroadcastApplicant::where('user_id', $this->id)->get();
}

, а мой клинок с @if(auth::user()->notifications > 0) до @if(auth::user()->notifications() > 0)

теперь он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...