简体   繁体   English

在Laravel 5.1中无法获得SQL查询

[英]Can't get SQL query in laravel 5.1

How can I get this query in laravel 5.1. 我如何在laravel 5.1中获得此查询。 I have model Menu , database menus . 我有模型菜单 ,数据库菜单 This query in SQL get results I want. SQL中的此查询获取我想要的结果。

SELECT b.title FROM menus a, menus b WHERE a.id=b.parent_id 

Same thing, I can't get for this query 同样的事情,我无法获得此查询

SELECT m.* FROM menus m WHERE m.id in (select m2.parent_id from menus m2)

Laravel docs for queries has an example that you can improvise on: Laravel查询文档有一个示例,您可以即兴使用:

$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();

Try to use something similar and note that you can use aliases : 尝试使用类似的东西,并注意可以使用别名

$variable = DB::table('menus as a')
            ->join('menus as b', 'a.id', '=', 'b.parent_id')
            ->select('b.title')
            ->get();

Look at How to do this in Laravel, subquery where in for an example of where in equivalent. 看看如何在Laravel子查询where中执行此操作,以得到where in等效的示例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM