2016-09-01 8 views
1

Я новичок в Laravel, когда я тренируюсь, я получаю сообщение об ошибке.
at HandleExceptions-> handleError ('8', 'Попытка получить свойство не-объекта', 'C: \ xampp \ htdocs \ cms \ app \ Http \ routes.php', '144', array (' ID»=> '1')) в routes.php линии 144отношения один к одному в laravel (ошибка)

мой routes.php файл

Route::get('/user/{id}/post',function ($id){ 
    return User::find($id)->post->title; 

});

в моем User.php файл

public function post(){ 
    return $this->hasOne('App\Post'); 
} 

У меня есть две таблицы 1-сообщений 2-пользователи
и я также публикую класса
enter image description here Я также Google и поиск различных сайтов, но может» Т понять. Пожалуйста, как избавиться от этой ошибки.

enter image description here

enter image description here

+0

Я верю, потому что нет ни одного пользователя с этим связанным идентификатором – geckob

+0

нет, у меня есть в базе данных –

+0

Вы можете проверить с пользователем :: найти ($ ID), а затем User :: найти ($ ID) -> post – geckob

ответ

0

Ваши сообщения один пользователь. Это переживание - это отношения «один ко многим». вы должны по этой причине, используя этот метод модального пользователя:

public function posts() 
{ 
    return $this->hasMany('App\Post'); 
} 

один для многих является массив из сообщений. для показа resualt вы должны с помощью Еогеаспа:

$comments = App\Post::find(1)->comments; 
    foreach ($comments as $comment) { 
      $comment->title ; 
    } 

и чтения этой ссылки: https://laravel.com/docs/5.2/eloquent-relationships#one-to-many

+0

, но такая же ошибка 'в HandleExceptions-> handleError ('8', 'Undefined property: Illuminate \ Database \ Eloquent \ Collection :: $ title', 'C: \ xampp \ htdocs \ cms \ app \ Http \ routes.php' , '144', array ('id' => '1')) в route.php строка 144' –

+0

Я редактирую ответ. –

0

1: вы уверены отношение один к одному; 2: если вы shure добавьте первичный и внешний ключ и добавьте эту функцию в модель Post.

public function user(){ 
    return $this->hasOne('App\User','id','user_id'); 
} 
+0

теперь у меня такая же ошибка! 'в HandleExceptions-> handleError ('8', 'Попытка получить свойство не-объекта', 'C: \ xampp \ htdocs \ cms \ app \ Http \ routes.php', '144', array ('id' => '1')) в route.php строка 144' –

Смежные вопросы