Реализация пространственных функций MySQL с использованием Laravel Eloquent ORM
Запрос 1:
"ВЫБЕРИТЕ *из таблицы поиска, ГДЕ столбец >=4"
Красноречивая реализация ORM 'Query1'
$searchResults = SearchTempTable::select(*);
$searchResults = $searchResults->where('column', '>=', 4);
Запрос 2:
"ВЫБЕРИТЕ * ИЗ таблицы поиска, ГДЕ ST_Intersects(столбец, геометрический текст('ПОЛИГОН(($point1x $point1y, $point2x $point2y, $point3x $point3y, $point4x $point4y, $point1x $point1y))'))"
Как "Запрос 2" может быть реализован в красноречивом ORM?
3
Author: Nimmy Alice Mathew, 2014-12-18
1 answers
Для этого будет работать только оператор raw
.
$bindings = [$point1X, $point1Y, ... ];
SearchTempTable::whereRaw(
"ST_Intersects(column, geomfromtext( 'POLYGON((? ?, ? ?, ? ?, ? ?, ? ?))' ))",
$bindings
)->get();
4
Author: Jarek Tkaczyk, 2014-12-18 09:58:29