php - 如何在 Laravel 4 上执行此查询?

标签 php mysql laravel-4

您好,我有一个查询,很难将其转换为 Laravel 风格...

这是我的查询,实际上直接在 phpmyadmin 上运行...

SELECT id, 
            ( 
                6371 * acos( 
                    cos( radians(10.300563558355096) ) * 
                    cos( radians( lat ) ) * 
                    cos( radians( lng ) - radians(123.87308120727539) ) + 
                    sin( radians(10.300563558355096) ) * 
                    sin( radians( lat ) ) 
                ) 
            ) AS distance 
            FROM rescue_units  WHERE type = "hospital" HAVING distance < 25 ORDER BY distance LIMIT 0 , 5;

以及我的模型->RescueUnit.php

<?php

class RescueUnit extends \Eloquent {
    protected $table = 'rescue_units';
    protected $fillable = array("name", "address", "lat", "lng", "email", "type");
}

只是不知道我在实现上是否有错误...需要改进建议...

最佳答案

没关系...我刚刚发现我想做什么...

$lat = 10.300563558355096;
        $lng = 123.87308120727539;
        $type = "hospital";

        $markerByRadius = RescueUnit::select(
               DB::raw("*,
                             ( 6371 * acos( cos( radians(?) ) *
                               cos( radians( lat ) ) * 
                               cos( radians( lng ) - radians(?) ) + 
                               sin( radians(?) ) *
                               sin( radians( lat ) ) )
                             ) AS distance"))
               ->whereRaw('type = ?')
               ->having("distance", "<", "25")
               ->orderBy("distance")
               ->setBindings([$lat, $lng, $lat, $type])
               ->get();
        return $markerByRadius;

我只是设置了下面的绑定(bind)并且相同...

关于php - 如何在 Laravel 4 上执行此查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28210361/

相关文章:

php - WooCommerce 按类别和自定义字段过滤搜索

php - 转义引号php和mysql

mysql - 如何解决共享主机中mysql超出 'max_questions'资源的问题?

mysql - 如何在 mysql 5.0 中查找表的依赖项?

php - Laravel Facebook-登录/丢失电子邮件

laravel - 如何捕获数据透视表中的模型事件

php mailgun 错误意外)

php - 从一个 mysql 表中获取信息并将其插入到另一个表中

html - 如何停用获取值数据库以在 laravel 4 中选择框

javascript - 将 javascript 值传递给 html