Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

askshinde's avatar

RAW Query Throws Incomplete Data

I build a query using foreach (dynamic), when I pass that query using select(DB::raw(QUERY))->toSql() the select query it returns work perfectly fine in phpmyadmin mysql query but when I use get() instead of toSql() I do not get complete data

0 likes
4 replies
askshinde's avatar

$Q1 = "select item_id, name as itemname,";

        foreach(session()->get('students') as $student) {
            $Q2 .= "'".$student['rollNumber']."' as rollnumber, '".$student['fullName']."' as student,

(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '".$student['rollNumber']."')) AND oi.item_id = i.item_id) as qty ,"; }

        $Q2 = preg_replace('~[\r\n]+~', '', substr($Q2,0,-1));

        $DYNO = DB::table('item as i')->select('item_id','name')->selectRaw($Q2)->get();
askshinde's avatar

This is the query

select item_id, name, '2016036' as rollnumber, 'Araj S Dariwal' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2016036')) AND oi.item_id = i.item_id) as qty ,'2014018' as rollnumber, 'Sai Vishnu Chitra' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2014018')) AND oi.item_id = i.item_id) as qty ,'2016049' as rollnumber, 'Madavan Ravi' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2016049')) AND oi.item_id = i.item_id) as qty ,'645' as rollnumber, 'Yadhunandhan Balasubramanian' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '645')) AND oi.item_id = i.item_id) as qty ,'2013003' as rollnumber, 'Advaith V' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2013003')) AND oi.item_id = i.item_id) as qty ,'2016020' as rollnumber, 'Shivam Haresh Trivedi' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2016020')) AND oi.item_id = i.item_id) as qty ,'646' as rollnumber, 'Yuvan Bharathi S' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '646')) AND oi.item_id = i.item_id) as qty ,'7913' as rollnumber, 'Natarajan PL' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '7913')) AND oi.item_id = i.item_id) as qty ,'734' as rollnumber, 'Pankaj Kumar S' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '734')) AND oi.item_id = i.item_id) as qty ,'2013039' as rollnumber, 'Manoo Sirivelu' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2013039')) AND oi.item_id = i.item_id) as qty ,'2015039' as rollnumber, 'Anirudh Sundaram' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2015039')) AND oi.item_id = i.item_id) as qty ,'2015029' as rollnumber, 'Japjot Singh Malhotra' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2015029')) AND oi.item_id = i.item_id) as qty ,'2015026' as rollnumber, 'Anikait Malhotra' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '2015026')) AND oi.item_id = i.item_id) as qty ,'601' as rollnumber, 'Abhinav Dinesh Srivatsa' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '601')) AND oi.item_id = i.item_id) as qty ,'424' as rollnumber, 'Arjun Sivakumar' as student,(select (CASE WHEN SUM(qty) IS NULL THEN 0 ELSE SUM(qty) END) from orderitem oi where order_id = (select order_id from cartorder where status='Pending' and student_id = (select student_id from student where rollnumber = '424')) AND oi.item_id = i.item_id) as qty from item as i

askshinde's avatar

When I run this query in phpmyadmin sql I get 18 column 3 row data but when I uset get() I get 3 rows and first 2 colom are static then there must 15 colomns more but I am geting last 3 only

Please or to participate in this conversation.