我在 App \ Post.php 文件中写了这段代码。
public function user(){
return $this->belongsTo('App\User');
}
我已将其写入 routes.php
Route::get('/{id}', function($id){
return Post::find($id)->user->name;
});
当我去测试代码时,我收到以下错误。
尝试获取非对象的属性
答案 0 :(得分:1)
嗯。让我们重新定义您的模型
在App \ User.php中
public function posts(){
return $this->hasMany(Post::class);
}
在App \ Post.php中
public function user(){
return $this->belongsTo(User::class);
}
您可以互相访问,例如
//Get User from Post
$user = Post::find($id)->user;
//Get Post collection from User
$posts = User::find($id)->posts
答案 1 :(得分:1)
请检查您的结果和代码:
应用\ post.php中强>
public function user()
{
return $this->belongsTo('App\User', 'the_foreign_key_Post_in_users', 'primary_key_in_Post');
}
应用\ user.php的强>
public function post(){
return $this->hasMany('App\Post','the_foreign_key_POst_in_users');
}