我正在寻找将下面的查询作为 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/