【发布时间】:2019-04-04 09:37:33
【问题描述】:
我的项目是一个内容管理系统,它的新版本将集成到 Laravel 框架中;并且有很多庞大的 SQL 查询需要转换成雄辩的语法。
我找到了以下tool 将我已经编写的查询转换为雄辩的语法,但它不起作用。
谁能指导我转换我的查询或帮助我找到可以完成这项工作的工具?
请在下面找到我的查询示例(请注意,我的大多数查询看起来都相似):
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
谢谢。
【问题讨论】:
-
如果您想使用 ORM,那么您需要创建扩展 Illuminate\Database\Eloquent\Model 的模型并设置适当的关系。或者您可以使用 Illuminate\Database\Eloquent\Builder 来使用流畅的接口或标准的 SQL 语法。你打算使用哪种方法?
-
有在线转换大查询的工具吗?
-
如前所述:laravel 文档是最好的工具。链接:laravel.com/docs/master/queries 不懂的东西就不能指望开发好。 Eloquent 对于任何了解 MySQL 的人来说都很简单,在许多情况下更容易。
-
我知道口才。我发布了这个问题对查询没有帮助。我问我有很多大的 sql 查询,将它们转换成 eloquent 需要时间。我问有没有办法更快地转换查询?
-
大有多大?我处理过可能有 100 行的语句。在某些情况下,最好不要使用 eloquent。你需要做出决定。我非常怀疑你会找到一个比简单的 SQL 字符串更复杂的转换器,否则它可能会出现很多错误,因为你可能会花费更多的时间来修复而不是自己动手。
标签: php mysql sql laravel eloquent