i'm new to laravel and wondering if this query can be done on Eloquent or Query Builder:
SELECT subjects.id, subjects.name, CASE WHEN grades.term = 1 THEN grades.grade END AS 'TERM_1', CASE WHEN grades.term = 2 THEN grades.grade END AS 'TERM_2', CASE WHEN grades.term = 3 THEN grades.grade END AS 'TERM_3', CASE WHEN grades.term = 4 THEN grades.grade END AS 'TERM_4' FROM users JOIN user_details ON users.id = user_details.user_id JOIN admissions ON user_details.admission_id = admissions.id JOIN grades ON users.id = grades.user_id RIGHT JOIN subjects ON grades.subject_id = subjects.id AND grades.user_id = 23 ORDER BY subjects.id ASC
**
my main problem here is the right join as it needs the AND condition to return all subjects, regardless of other subjects are null / no grades.
I used the DB::select( sql query ) but wondering if this can be done in Eloquent or query builder, based on my research online the DB::select is a security risk.
Pardon my english as it is not my mother tongue.