SQL JOIN 5 個 TABLE 該如何寫得好一些??

如果用laravel 的ORM 是不是可以寫得簡化及好維護一點??

不用ORM該怎麼寫??

試過把lastreply* 那3行寫到left join (subquery), 但subquery不能用order by, 拿不到正確資料

select shares.*,
users.username, users.email,
categories.name as cat_name,
(select count(*) from share_like where share_like.share_id = shares.id) as likes,
(select count(*) from comments where comments.share_id = shares.id) as comments_count,
(select comments.created_at
   from comments
   where comments.share_id = shares.id
   order by comments.created_at desc
   limit 1) as last_reply,
(select users.email
   from users
   left join comments
   on comments.user_id = users.id
   where comments.share_id = shares.id
   order by comments.created_at desc
   limit 1) as last_reply_email,
(select users.username
   from users
   left join comments
   on comments.user_id = users.id
   where comments.share_id = shares.id
   order by comments.created_at desc
   limit 1) as last_reply_username
from shares
inner join users
on users.id = shares.user_id
inner join categories
on categories.id = shares.cat_id
order by shares.created_at desc
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!