NinaFFF
@NinaFFF

Как получить доступ к элементу коллекции связанной модели в blade LUMEN?

Не могу получить доступ элементу коллекции связанной модели? причем, если вызываю его в контроллере, оно показывается:

Миграция user:
Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('location');
            $table->string('password');
            $table->timestamps();
        });


Mиграция пост
Schema::create('questionnaires', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('user_id'));
            $table->bigInteger('count')>default(1);
            $table->timestamps();
        });


Модели:
User
protected $fillable = [
        'name', 'email','location'
    ];
public function questionnaire()
    {
        return $this->hasOne('App\Questionnaire');
    }


Questionnaire
protected $fillable = [
        'user_id', 'count'
    ];
   public function user()
    {
        return $this->belongsTo('App\User');
    }


контроллер
public function index(){
$users = User::all();
return view('users', compact('user'));
}


и в Blade
@foreach($users as $user)
    <h2>{{$user->questionnaire->count}}</h2>
@endforeach

В итоге получаю ошибку:
Trying to get property 'count' of non-object (View: /dev/www/test.loc/resources/views/users.blade.php)

Причем если я ставлю в контроллере
$user= User::find(1);
и распечатываю его в Blade
<h2>{{$user->questionnaire->count}}</h2>
то все ок
  • Вопрос задан
  • 9 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы