我有一个location
表,其中包含lat
,lng
列和geohash
点以及关联的Location
Phalcon模型。在MySQL中,我有一个before insert
类型的触发器函数,当添加位置行时会自动生成geohash(作为VARCHAR),所以如果我输入SQL:
INSERT INTO location (lat, lng) VALUES (100, 100);
将(100,100)的geohash正确插入geohash列。
但是,如果我像这样使用phalcon ......
$location = new Location();
$location->lat = 100;
$location->lng = 100;
$location->save();
...触发器被忽略(或者它写入的值被覆盖)到NULL
。我错过了什么吗?有没有其他人与MySQL触发器与Phalcon有类似的问题。想知道为什么会这样。任何想法都非常赞赏。
答案 0 :(得分:1)
回答我自己的问题......
添加了以下行:
$this->skipAttributes(array("geohash"));
到Location
对象的initialise()
方法。似乎工作正常。