考虑这种关系:
// in Post model
public function user()
{
return $this->belongsTo('App\Models\User');
}
我认为$post->user->name
应该足以获得帖子所有者的名字。但是$post->user
返回用户ID而不是用户模型。所以我必须使用:
$post->user()->first()->name;
不应该$post->user
归还帖子的所有者吗?
答案 0 :(得分:0)
用户是属于帖子还是帖子属于用户?
从我的角度来看,用户有很多帖子,帖子属于用户。所以我认为你搞砸了你的关系。
class Post extends Model
{
public function user()
{
return $this->belongsTo('User');
}
}
class User extends Model
{
public function posts()
{
return $this->hasMany('Post');
}
}
然后,一旦您有帖子,您就可以访问它的用户。
$userName = Post::find(1)->user->name;