У меня есть таблица addresses
в которой есть поле location
с типом geography
Есть координаты прямоугольника: нижняя левая и правая верхняя точки
Я составил вот такой запрос:
select * from "addresses" where location && ST_MakeEnvelope(37.332275894921786, 55.36211294654757, 37.87335255507804, 56.07217188912694, 4326)
Который мне выдает результат (если запрос не верный, то прошу поправить)
Когда я пытаюсь использовать его в laravel
DB::select('SELECT * FROM addresses WHERE location && ST_MakeEnvelope(?, ?, 4326)', [$ left_button, $ right_top]);
То получаю следующую ошибку:
SQLSTATE[42883]: Undefined function: 7 ERROR: function st_makeenvelope(unknown, unknown, integer) does not exist\n LINE 1: SELECT * FROM addresses WHERE location && ST_MakeEnvelope($ 1...\n ^\n HINT: No function matches the given name and argument types. You might need to add explicit type casts. (SQL: SELECT * FROM addresses WHERE location && ST_MakeEnvelope(37.332275894921786, 55.36211294654757, 37.87335255507804, 56.07217188912694, 4326))
Хотя напряму в БД запрос прекрасно работает. Подскажите пожалуйста верно ли составлен запрос на вхождение точек в прямоугольник и как исправить ошибку при выполнении запроса из laravel?