Реализация пространственных функций MySQL с использованием Laravel Eloquent ORM

Запрос 1:

«SELECT * from search_table WHERE column> = 4»

Красноречивая реализация ORM ‘Query1’

$searchResults = SearchTempTable::select(*);

$searchResults = $searchResults->where('column', '>=', 4);

Запрос 2:

«SELECT * FROM search_table WHERE
ST_Intersects (column, geomfromtext (‘POLYGON (($ point1X $ point1Y, $ point2X $ point2Y,
$ point3X $ point3Y, $ point4X $ point4Y, $ point1X $ point1Y)) ‘)) «

Как можно реализовать Query 2 в Eloquent ORM?

3

Решение

Только raw Заявление будет работать для этого.

$bindings = [$point1X, $point1Y, ... ];

SearchTempTable::whereRaw(
"ST_Intersects(column, geomfromtext( 'POLYGON((? ?, ? ?, ? ?, ? ?, ? ?))' ))",
$bindings
)->get();
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]