php - Laravel 5 Eloquent 地查询半正矢公式

标签 php mysql laravel laravel-5

我有这个查询

select tbl_container.*, 
       ( 6371 * acos( cos( radians(17.7427643) ) 
              * cos( radians( tbl_locations.latitude ) ) 
              * cos( radians( tbl_locations.longitude ) - radians(83.3277787) ) 
              + sin( radians(17.7427643) ) 
              * sin( radians( tbl_locations.latitude ) ) ) ) AS distance 
from tbl_locations,tbl_container  
where tbl_container.`status` = 1 
and tbl_container.location_id=tbl_locations.id having distance<4 order by distance asc

为此,我有两个模型容器,位置

如何将此查询写入 laravel 5 eloquent...

最佳答案

我没有得到任何 Eloquent 模型查询 所以我使用这样的查询

DB::select(DB::raw(' select tbl_container.*, 
      ( 6371 * acos( cos( radians(17.7427643) ) 
             * cos( radians( tbl_locations.latitude ) ) 
             * cos( radians( tbl_locations.longitude ) - radians(83.3277787) ) 
             + sin( radians(17.7427643) ) 
             * sin( radians( tbl_locations.latitude ) ) ) ) AS distance 
from tbl_locations,tbl_container  
where tbl_container.`status` = 1 
and tbl_container.location_id=tbl_locations.id having distance<4 order by distance asc   '));

并使用此数据库外观来执行此原始查询

use Illuminate\Support\Facades\DB;

关于php - Laravel 5 Eloquent 地查询半正矢公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45032111/

相关文章:

php - 有没有办法自动测试 Laravel 代码的质量?

laravel - 如何通过post方法从 postman 保存和下载原始数据中的视频文件等文件

php - Mysql 到 Php,德语、瑞典语、冰岛语等字母的问题

php - 在继续之前显示一条 JavaScript 消息

php - 如何获取左连接 mySQL 表的 id?

mysql - 在Mysql中组合前两种情况

php - PHP神秘问题

php - 使用 Codeigniter 进行图像缓存

mysql - 用 mysql 命令替换 sqlplus 命令

mysql - 服务器响应时间过长,优化Laravel项目?