我正在使用Laravel8.0开发一个google表单克隆
我的桌子结构如下:
1调查
2.项目
3.公司
我编写了如下代码来返回项目:
$projects = \DB::table('projects')
->join('companies', 'projects.company_id', '=', 'companies.id')
->select('projects.*', 'companies.company_name as company_name',
\DB::raw('(SELECT COUNT(*) FROM surveys WHERE DATE(surveys.end_date) < "'.date('Y-m-d').'" AND surveys.project_id = projects.id) as completed_surveys'),
\DB::raw('(SELECT COUNT(*) FROM surveys WHERE surveys.project_id = projects.id) as total_surveys')
)
->paginate(6);现在我只想返回那些total_surveys = completed_surveys.的项目
请引导我。
提前鸣谢。
发布于 2021-05-02 16:33:13
完成了..。
下面的是我的代码.
$projects = \DB::table('projects')->where(
\DB::raw('(SELECT COUNT(*) FROM surveys WHERE DATE(surveys.end_date) < "'.date('Y-m-d').'" AND surveys.project_id = projects.id)'),
\DB::raw('(SELECT COUNT(*) FROM surveys WHERE surveys.project_id = projects.id)')
)
->join('companies', 'projects.company_id', '=', 'companies.id')
->select('projects.*', 'companies.company_name as company_name',
\DB::raw('(SELECT COUNT(*) FROM surveys WHERE DATE(surveys.end_date) < "'.date('Y-m-d').'" AND surveys.project_id = projects.id) as completed'),
\DB::raw('(SELECT COUNT(*) FROM surveys WHERE surveys.project_id = projects.id) as total_surveys')
)
->paginate(6);https://stackoverflow.com/questions/67358638
复制相似问题