Просто интересно, вот как вы добавляете оператор SQL, который еще не выполнен?
$select = $select & "ORDER BY orderDate ASC";
На самом деле, это не очень хорошая практика для прямых конкатенаций строк, если есть некоторая возможность переключения с одного драйвера БД на другой, как, например, PostgreSQL не поддерживает обратные ссылки для имен столбцов (т.е. SELECT ``field`` from table
).
Так что, вероятно, для этого лучше использовать несколько структур построения запросов.
Подобно, Laravel
использует свой собственный строитель, называемый Eloquent
, В Eloquent
Вы строите свои запросы так:
$q = DB::table("table_name")
->select(["name", "sum(a) as total"])
->where("age", ">", 20);
затем получить данные, как это:
$data = $q->get();
и может изменить запрос после этого и получить снова:
$beforeFourty = $q->where("age", "<", 40)
->take(10)
->get();
и так далее…
Это зависит от языка.
В прямом SQL (без создания оператора SQL в чем-то вроде PHP) это будет выглядеть примерно так:
SET @select = @select + ' ORDER BY orderDate ASC';