我使用笨和DataMapper的构建API服务(在MySQL),并且它的部分涉及地理位置 - 但是我似乎无法找到一种解决方法使用的点数据类型。 如果我尝试插入GeomFromText,系统会将其作为一个字符串。
任何人都可以帮忙吗?
干杯,马克。
我使用笨和DataMapper的构建API服务(在MySQL),并且它的部分涉及地理位置 - 但是我似乎无法找到一种解决方法使用的点数据类型。 如果我尝试插入GeomFromText,系统会将其作为一个字符串。
任何人都可以帮忙吗?
干杯,马克。
尝试
CREATE TABLE Points (
ID INT(10) PRIMARY KEY NOT NULL AUTO_INCREMENT,
location POINT NOT NULL,
SPATIAL INDEX(location)
) ENGINE= MYISAM
在笨:
$this->db->set("location",'geomfromtext("POINT(30.2 40.3)")',false);
$this->db->insert("Points");
在用笨Datamaper(请参阅文档中的“使用更新公式”的帮助)...
$point = new Point();
$point->update('location','geomfromtext("POINT(30.2 40.3)")',FALSE);
由于CodeIgniter用户指南中解释说:
$this->db->set();
设置功能使您能够插入或更新设置值。
集()将接受第三个参数($逃逸),这将阻止如果设置为false转义数据。
$this->db->set('geo', "ST_GeomFromText('{$data['geo']}')", FALSE);
$this->db->insert('tableName');
return $this->db->insert_id() ? $this->db->insert_id() : FALSE;
使用float作为数据库的数据类型。