我是Laravel 4.2的新手而且我有这样的Sub Query Sql
Select *, Count(*) as total_rows From(
SELECT test_id,
SUM(IF(app.status='complete',apt.result,0)) AS complete_sum,
SUM(IF(app.status='process',apt.result,0)) AS process_sum
FROM application_test AS apt
JOIN application AS app ON app.id=apt.application_id
GROUP BY apt.test_id)
我的问题是如何在laravel 4.2上编写这个子查询sql
答案 0 :(得分:0)
将MYSQL CASE转换为LARAVEL查询
$query = DB::raw("(CASE WHEN user_group='1' THEN 'Admin' WHEN user_group='2' THEN 'User' ELSE 'Superadmin' END) as name");
并在
中执行此查询DB::table('tablename')->select($query)->get();
或
YourModelClass::select($query)->get();
你会得到结果。
注意:语法基于Laravel 5.0
答案 1 :(得分:-1)
您可以像这样制作子查询。
Test::where('id', function($query){
$query->select('other_test_id')
->whereIn('category_id', ['223', '15'])
->where('active', 1);
})->get()
如果你是Laravel的新手,请考虑使用它的最新版本,5.2;)