Wenn ich die folgende Abfrage in mein SQL-Tool einfüge, läuft sie einwandfrei, gibt aber bei der Ausführung durch Laravel keine Zeilen zurück.
$sql = " SELECT main_query.* FROM ( SELECT c.id, c.name, c.order, cd.case, (SELECT count(*) from logs cl where c.id = cl.id and cl.status = 'OPEN' ) as cl_count, sdsc.task FROM `table` c INNER JOIN `table2` cd ON (c.id = cd.id) LEFT JOIN `table3` sdsc ON (c.id = sdsc.id) WHERE c.status = 'NEW' GROUP BY c.id ORDER BY cd.updated_at DESC ) main_query where main_query.cl_count > 1 GROUP BY main_query.id ORDER BY main_query.updated_at DESC limit 0,20 ";
Aufgrund der Komplexität der eigentlichen Abfrage konnte ich sie nicht ganz in eine eloquente Abfrage umwandeln, also habe ich sie mit DB::select(DB::raw($searchQuery));
ausgeführt.
Wenn ich where main_query.cl_count > 1
entferne, funktioniert die Abfrage einwandfrei. Was führt dazu, dass es fehlschlägt, und wie kann ich den Code neu schreiben?
尝试以下代码,由https://sql2builder.github.io/生成