【发布时间】:2014-06-03 20:38:54
【问题描述】:
理论
我有一个相当全面的坐标列表(经纬度到小数点后 7 位),我想不断添加。为了停止数据重复,对于每个尝试输入的坐标,我想检查数据库以查看同一行上的纬度和经度是否存在。
检查坐标是否存在
$coordinate = DB::table('coordinates')
->where('lat', '=', $geocode->getLatitude())
->where('lng', '=', $geocode->getLongitude())
->count();
迁移
Schema::create('coordinates', function(Blueprint $table)
{
$table->increments('id');
$table->float('lat', 10, 7);
$table->float('lng', 10, 7);
$table->timestamps();
});
当用户的地址转换时,我注意到当dd()纬度变量时,它出来为:
float(53.7960957)来自代码dd($geocode->getLatitude());
当我尝试将其添加到数据库中时,通过删除dd(),添加到数据库中的实际小数是53.7960968 - 当我们谈论坐标时,位置完全不同!
为什么小数点从在我的屏幕上回显到添加到数据库中?
添加之前是否需要将其转换为浮点数?我该如何解决这个问题?
【问题讨论】:
标签: php laravel laravel-4 eloquent latitude-longitude