mysql数据库类型point如何存储

技术问题 · johocn · 于 4年前 发布 · 2265 次阅读
CREATE TABLE `address` (
  `id` int(11) NOT NULL,
  `name` varchar(250) NOT NULL,
  `zuibiao` point NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `address`(`id`, `name`, `zuibiao`) VALUES (null,'测试',ST_GeomFromText('POINT(1.0 2.0)'))

yii2中model的写法不知要怎样写?

$model = new Address();

        if ($model->load(Yii::$app->request->post()) ) {
                 $long=1.0;
                 $lat=1.2;
                 $model->zuibiao=new Expression("ST_GeomFromText('POINT($long $lat)')");
        }
		$model->save();

这样写程序不报错,但是数据表里没数据。

共收到 2 条回复
Fecmall#14年前 0 个赞

没有再yii2中使用过point这个数据类型,您自己查查资料,看一下yii2的model源码吧

johocn#24年前 1 个赞

正确用法 $data['zuibiao']=new Expression("ST_GeomFromText('POINT($long $lat)')"); $data['name']='name'; Yii::$app->db->createCommand()->Insert('address', $data)->execute();

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics