У меня необработанный запрос:
INSERT INTO employee (fk_country_id, employee_id, fk_city_id, password, role, email, joined_at, resigned_at, created_at, updated_at) VALUES (?, ?, (SELECT id FROM city WHERE city.id = ?), ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE email = VALUES(email), joined_at = VALUES(joined_at), resigned_at = VALUES(resigned_at)
Я выполняю запрос следующим образом:
DB::insert($query, $parameters);
, где значения параметров представлены в виде массива.
Поскольку существует огромное количество строк для операций INSERT и UPDATE, мне нужно оптимизировать запрос, чтобы вставить значения нескольких строк в один запрос.
Как я могу оптимизировать мой запрос с помощью Laravel?
Есть несколько опций, которые позволяют запускать запросы с вложенными массивами, но я не смог заставить их работать с:
DB::insert();
Я хочу избежать использования "(?,?,?), (?,?,?) ...." во время операции INSERT.Как Laravel может помочь в этом, чтобы код выглядел чище и оптимизировалось?