繁体   English   中英

转换成laravel雄辩的MySQL查询?

[英]convert mysql query into laravel eloquent?

我想从两个表中获取数据,一个是药房,另一个是地址。我可以像这样简单地通过查询来获取数据

SELECT pharmacies.*,
       addresses.*,
       ( 6371 * acos( cos( radians(32.5033801) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(74.49884399999999) ) + sin( radians(32.5033801) ) * sin( radians( lat ) ) ) ) AS distance 
FROM `pharmacies` join 
      addresses on pharmacies.address_id=addresses.address_id 
      HAVING distance < 25 
      ORDER BY distance

我想要laravel雄辩完全相同的查询。 药房与地址有一对一关系。 请帮助我

谢谢

您可以这样编写查询:

DB::table('pharmacies')
     ->select('pharmacies.*','addresses.*',
               DB::raw('(6371 * acos( cos( radians(32.5033801) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(74.49884399999999) ) + sin( radians(32.5033801) ) * sin( radians( lat ) ) ) ) AS distance'))

     ->join('addresses','pharmacies.address_id','=','addresses.address_id')
     ->having('distance','<',25)
     ->orderBy('distance','asc');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM