@GaserV

Почему laravel ругается на релейшн?

Такая проблема. В модели есть релэйшны: user, category ... etc. Они возвращают юзера и категории, например, соответственно. Но когда я добавил метод isOwner, который возвращает true/false я получаю ошибку:

Call to a member function addEagerConstraints() on null


Eloquent:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Auth;

class Project extends Model
{
  protected $with = array('user', 'category', 'isOwner');

  protected $fillable = [];

  protected $hidden = ['user_id', 'category_id'];

  public function user()
  {
    return $this->belongsTo('App\User');
  }

  public function isOwner()
  {
    return Auth::user();
  }

  public function category()
  {
    return $this->belongsTo('App\ProjectCategory');
  }
}
  • Вопрос задан
  • 662 просмотра
Решения вопроса 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
protected $with = array('user', 'category', 'isOwner');

isOwner оттуда убирайте и читайте доки по моделям.

То, что вы хотите для isOwner:
protected $appends = ['isOwner'];
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@anlamas
return Auth::check();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы