mysql - Laravel 查询 where 子查询

标签 mysql laravel laravel-4

我正在寻找将下面的查询作为 Laravel 4.2 查询 执行的最佳方式。我在 where 子句上苦苦挣扎,它有一个子 query 可以工作。

我的查询在做什么: 我有一个带有 1-many 子表的父表。我想获取与父记录关联的所有子记录的列表,只知道当前的子记录。

select child.id, child.jobNumber
from child
where child.parentId = (select child.parentId from child where child.id = 2)
order by child.jobNumber, child.id

类似于:

$query = DB::table('child');
$query->select(array('child.id','child.jobNumber'));
$query->orderBy('child.jobNumber');
$query->orderBy('child.id');

// how do I do my where clause?

$list = $query->get();

最佳答案

使用 whereRaw 怎么样? http://laravel.com/docs/4.2/queries#advanced-wheres

$query = DB::table('child');
$query->select(array('child.id','child.jobNumber'));
$query->whereRaw('child.parentId = (select child.parentId from child where child.id = 2)');
$query->orderBy('child.jobNumber');
$query->orderBy('child.id');

// how do I do my where clause?

$list = $query->get();

关于mysql - Laravel 查询 where 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33219045/

相关文章:

macos - 似乎并不是我的所有 HTML 页面都在某些浏览器中加载

php - 如何生成日期时间并将其插入 mysql 数据库 (PHP)

mysql - 如何在 mysql 存在的表中添加动态列?

php - Elasticsearch 不会将 not_analyzed 应用到我的映射中

php - mockery->shouldReceive() 在不应该通过的时候通过了?

php - 如果 laravel 4 不存在,则将特定路由重定向到页面

mysql - LINQ MySQL Group by Year, Month, Day 选择 Year, Month, Day, Count

mysql - 如何在分组之前排序(mysql、mariadb)

php - 如何在 Laravel PHP 中使用控制台内核?

php - Laravel 通过 where 和 join 进行独特的验证