将空间列添加到Eloquent模型

时间:2017-10-11 08:16:45

标签: php laravel eloquent

我正在使用Laravel 5.5和MySQL 5.7,我有一个表,用于存储两个空间列( POINT 类型)中的原点和目的地的旅行数据。

我试图让这些字段以透明的方式使用Eloquent,我已经管理了如何将经度和纬度转换为模型属性,从数据库中检索数据覆盖我的newQuery()方法型号:

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;

class Travel extends Model
{
    public function newQuery()
    {
        return parent::newQuery()->select('id',
            DB::raw('ST_X(origin) AS origin_x, 
                    ST_Y(origin) AS origin_y, 
                    ST_X(destination) AS destination_x, 
                    ST_Y(destination) AS destination_y'));
    }
}

现在我想弄清楚如何为新旅行() $ travel-> save()做同样的事情,因为我需要insert或update语句总是使用MySQL POINT(x,y)函数。

你对如何以一种好的方式做到了吗?

提前致谢!

0 个答案:

没有答案