У меня есть таблица MySQL с полем многоугольника. Могу ли я использовать CakePHP для сохранения / редактирования записей?
Единственный найденный мной способ - использовать необработанные запросы MySQL. Что не очень хорошо, потому что Validation и BeforeSave / AfterSave не будут выполнены.
Другой, более удачный подход, который я попробовал, потерпел неудачу.
$polygonString = 'PolygonFromText('POLYGON((x x, x x, x x))')';
$area = $areasTable->newEntity();
$area = $areasTable->patchEntity(
$area,
[
'area' => $polygonString,
]
);
$areasTable->save($area);
Это приведет к следующему запросу.
INSERT INTO areas (area)
VALUES ('PolygonFromText(''POLYGON((x x,x x))'')');
Это потому, что CakePHP считает, что это весь текст. Но PolygonFromText
- это функция mysql ....