Level 53
Try adding a ->get() ;)
$q2 = DB::select('select @sql' )->get();
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
hello, i tried query with DB::select like bellow, it is return a query array . not result of query:
how to fix my query select ?
DB::statement('SET @sql = NULL');
$db = DB::statement("
SELECT
GROUP_CONCAT(DISTINCT
CONCAT
(
'SUM(IF(criteria_id = ', criteria_id, ', scores, NULL) )AS ', c.alias_name
)
) INTO @sql
FROM evaluasi AS e
LEFT JOIN criteria AS c
ON c.id = e.criteria_id
");
$db2 = DB::statement("
SET @sql = CONCAT('
SELECT user_id, delivery_note_id, ', @sql, ' FROM evaluasi
GROUP BY user_id, delivery_note_id
')
");
$q2 = DB::select('select @sql' );
dd($q2);
and the result :
array:1 [▼
0 => {#1852 ▼
+"@sql": """
\n
SELECT user_id, delivery_note_id, SUM(IF(criteria_id = 1, scores, NULL) )AS OnTime,SUM(IF(criteria_id = 2, scores, NULL) )AS Qty,SUM(IF(criteria_id ▶
GROUP BY user_id, delivery_note_id\n
"""
}
]
Please or to participate in this conversation.