我的项目是一个内容管理系统&它的新版本将集成在一个laravel框架中;还有很多庞大的sql查询需要转换成雄辩的语法。
我发现下面的工具可以将我已经编写的查询转换成有说服力的语法,但它不起作用。
谁能指导我转换我的查询或帮助我找到一个工具,可以做这项工作?
请在下面找到我的查询示例(请注意,我的大多数查询看起来都很相似):
SELECT id, name, code,
( SELECT price FROM productprice WHERE id = p.id ) AS price,
( SELECT image FROM productpictures WHERE id = p.id LIMIT 1 )
AS image
FROM product p
WHERE categoryid = 1
谢谢您。
8条答案
按热度按时间b1uwtaje1#
您应该在where子句中提到表别名或表名,否则它将给出完整性冲突约束。
zsohkypk2#
tpxzln5u3#
实际上,您的sql应该使用如下连接:
你可以在这里阅读更多关于左连接的内容。
同样,像这样匹配id也不是明智之举,最好在productpictures和productprices上有一个product\u id,然后在products表上有一个外键约束。
但这不是问题所在。为了使这成为拉拉威尔雄辩你应该使用关系,然后你可以简单地做这样的事情:
你就可以这样把它拔出来:
cgvd09ve4#
请使用此联机工具将sql查询转换为laravel builder。
转换后的查询应显示在laravel builder中:
k2fxgqgv5#
将sql查询转换为laravel查询
nkhmeac66#
为什么要这样做
此代码通过示例创建相同的sql字符串。但我认为这不是最好的办法!
aemubtdh7#
我在网上找到了这个工具。它可以帮助寻找工具的人更快地完成工作。它可能不总是正确的。
2skhul338#
用这个