我不知道我的标题是否正确,所以请随时编辑此帖并删除我帖子的第一段。
我正在尝试在Laravel中创建一个简单的API,当我获得分页的shoutouts记录以包含创建它的用户时,我遇到了问题。我有1个用户和Shoutout模型之间的关系,并且在表格中,shoutouts具有user_id的外键,因为用户是谁创建了shoutout而不是shoutout创建了用户。
所以我尝试获取一组shoutout并使用此方法包含与之关联的用户:
$shoutouts = Shoutout::with('user')->paginate(15);
但我有这个错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'users.shoutout_id' in 'where clause' (SQL: select * from `users` where `users`.`shoutout_id` in (1))
它看起来像查询试图找到shoutout_id到users表,因为外键在shoutouts表中,它在查询中得到一个错误。如果我使用这种方法:
$user = User::with('shoutout')->paginate(15);
查询没有问题,但问题是它现在是一组用户而不是shoutout的集合,而shoutout嵌套在其中,而不是用户嵌套在shoutout集合中。是否有方法(函数)用于获取我想要发生的事情,或者如果没有方法则使用方法。我无法找到任何相关问题,或者只是我的搜索关键字错误,如果此问题存在相关问题,请随时在此处提供建议。
编辑: 我想我会使用查询构建器,但如果有方法在Eloquent中实现这一点,我会为此投票