我是Laravel的新手,当我练习时我得到一个错误 at HandleExceptions-> handleError(' 8','尝试获取非对象的属性' C:\ xampp \ htdocs \ cms \ app \ routes.php第144行中的Http \ routes.php',' 144',数组(' id' =>' 1'))
我的 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');
}
答案 0 :(得分:0)
您的帖子是一个用户。 这种生活是“一对多”的关系。 因此,您必须在模态用户中使用此方法:
public function posts()
{
return $this->hasMany('App\Post');
}
一对多是来自帖子的数组。 对于show resualt你必须使用foreach:
$comments = App\Post::find(1)->comments;
foreach ($comments as $comment) {
$comment->title ;
}
并阅读此链接:https://laravel.com/docs/5.2/eloquent-relationships#one-to-many
答案 1 :(得分:0)
1:你是否保持这种关系是一对一的; 2:如果你提到添加主键和外键并在Post模型中添加此功能。
public function user(){
return $this->hasOne('App\User','id','user_id');
}