POINT
空間フィールドを持つ mysql テーブルに基づく yii モデルがあります。このモデルのレコードを表示するときに、座標を「55.0000、-89.5000」の形式で表示したいと考えています。デフォルトで生成された CRUD ビューでは、現在、このフィールドには何も表示されません。
AsText
何らかの方法で mysql 関数を使用する必要があると考えていbeforeFind()
ます。
これどうやってするの?
アップデート
次を使用して、「POINT(55.0000, -89.5000)」として出力する値を取得できることがわかりました。
public function beforeFind()
{
parent::beforeFind();
$criteria = new CDbCriteria();
$criteria->select = "AsText(coordinates) AS coordinates";
$this->dbCriteria->mergeWith($criteria);
}
ただし、これには、他のすべてのフィールドが「未設定」になるという不幸な副作用があります。