在 laravel 5.1 中无法获取 SQL 查询
Posted
技术标签:
【中文标题】在 laravel 5.1 中无法获取 SQL 查询【英文标题】:Can't get SQL query in laravel 5.1 【发布时间】:2016-03-09 12:26:52 【问题描述】:如何在 laravel 5.1 中获取此查询。我有模型 Menu,数据库 menus。 SQL 中的这个查询得到我想要的结果。
SELECT b.title FROM menus a, menus b WHERE a.id=b.parent_id
同样的问题,我无法得到这个查询
SELECT m.* FROM menus m WHERE m.id in (select m2.parent_id from menus m2)
【问题讨论】:
【参考方案1】:Laravel docs for queries 有一个你可以即兴发挥的例子:
$users = DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->join('orders', 'users.id', '=', 'orders.user_id')
->select('users.*', 'contacts.phone', 'orders.price')
->get();
尝试使用类似的东西,注意可以use aliases:
$variable = DB::table('menus as a')
->join('menus as b', 'a.id', '=', 'b.parent_id')
->select('b.title')
->get();
查看How to do this in Laravel, subquery where in 以获取与where in
等效的示例。
【讨论】:
以上是关于在 laravel 5.1 中无法获取 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章