我正在try 让一个用户在laravel上发帖子,到目前为止,我已经try 使用下面这句话
User::findOrFail($user_id)->with('posts')->first();
但不管指定的用户ID是什么,我都会得到表上的第一个用户.
我已经try 添加用户id,它工作正常(从路由中获取用户id).
到目前为止,我得到的结果是,如果用户id为x,表中的第一个用户id为1,我将获得用户id 1的信息和他的帖子.
提前谢谢!
我正在try 让一个用户在laravel上发帖子,到目前为止,我已经try 使用下面这句话
User::findOrFail($user_id)->with('posts')->first();
但不管指定的用户ID是什么,我都会得到表上的第一个用户.
我已经try 添加用户id,它工作正常(从路由中获取用户id).
到目前为止,我得到的结果是,如果用户id为x,表中的第一个用户id为1,我将获得用户id 1的信息和他的帖子.
提前谢谢!
你的方法顺序不对.
findOrFail
立即执行查询,返回$user_id
的User
记录.
将其链接到->with()
will start a new query.
最后,调用->first()
返回数据库中的第一个User
.
调整您的查询:
User::with('posts')->findOrFail($user_id);