Good day. Please how can I convert a raw sql query to Laravel query builder. With the raw sql, I am unable to paginate, and the data are quite numerous. This is what I have on my application
$counsels = DB::select(DB::raw(
"SELECT T.counsel_id, A.counsel, COUNT(T.counsel_id) as total, SUM(if(T.court_id = 2, 1, 0)) as supreme_court_cases,
SUM(if(T.court_id = 2, 1, 0) AND if(T.counsel_role = 1, 1, 0)) as supreme_court_cases_as_lead,
SUM(if(T.court_id = 2, 1, 0) AND if(T.counsel_role = 2, 1, 0)) as supreme_court_cases_as_supporting,
SUM(if(T.court_id = 1, 1, 0)) as appeal_court_cases,
SUM(if(T.court_id = 1, 1, 0) AND if(T.counsel_role = 1, 1, 0)) as appeal_court_cases_as_lead,
SUM(if(T.court_id = 1, 1, 0) AND if(T.counsel_role = 2, 1, 0)) as appeal_court_cases_as_supporting from cp_cases_counsel T
INNER JOIN (SELECT
enrolment_number as id, MIN(counsel) as counsel
FROM
cp_counsel
GROUP BY
enrolment_number
) A
ON A.id = T.counsel_id
WHERE (A.counsel LIKE '%$request->search_term%')
GROUP BY T.counsel_id, A.counsel"
));
Thanks for your help
source https://stackoverflow.com/questions/69722188/how-to-convert-raw-database-query-to-query-builder-in-laravel
Comments
Post a Comment