我正在使用Laravel提供的默认身份验证系统 . 但是,我想在我的Auth表(用户)上连接两个表(执行两个内连接) . 到目前为止,我已经在两个模型之间创建了两个关系,这样可以正常工作并获取我想要的数据,但是当我认为事后在表上进行两个连接时,它会执行两个额外的查询会更有效 .
我不知道该怎么做是在用户模型上执行连接,这样我就不必创建新的查询(而是使用通过调用Auth :: user()创建的查询) .
我的 table :
Users: id username iconid avatarid
Icons: id image
Avatars: id image
所以我想做的是:
SELECT icons.image as icon_image, avatars.image as avatar_image FROM users
LEFT OUTER JOIN icons ON icons.id = users.iconid
LEFT OUTER JOIN avatars ON avatars.id = users.avatarid
这可能吗?我是否只需要覆盖User模型中的方法,以便Auth :: user()运行上述查询?
谢谢任何回复的人!
1 回答
把它放在你的用户模型中:
然后得到这样的用户:
然后你可以像这样访问图标和头像:
要使用连接执行此操作,您可以执行以下操作: