php - 使用 Laravel 5.5 极其简单的查询得到错误结果

标签 php mysql laravel-5

我现在正处在边缘。在过去的 2 小时内,我一直试图让这个非常简单的查询正常工作,但它不会

查询所做的只是选择价格在某个范围之间的所有行。查询如下所示:

select * from `properties` where `price` >= ? and `price` <= ? limit 16 offset 

在 phpmyadmin 中运行时返回正确的结果(2 行)

但是当我在 Laravel 中使用 ->get() 或 ->count() 时,它会返回完全错误的答案。

这是我的完整 Laravel 代码

    $query = Property::query();

    $price_min = Input::get('price_min');
    $price_max = Input::get('price_max', 1000000);

    $query->where('price', '>=', $price_min);
    $query->where('price', '<=', $price_max);

    \DB::enableQueryLog();
    $properties = $query->paginate(16);

    Helper::pr(['found' => count($properties)]);
    Helper::printLastQuery();

输出:

Array
(
    [found] => 8 <----- THIS SHOULD SAY 2
)
Array
(
    [query] => select * from `properties` where `price` >= ? and `price` <= ? limit 16 offset 0
    [bindings] => Array
        (
            [0] => 475944
            [1] => 909796
        )

    [time] => 3
)

最佳答案

我明白了为什么它不起作用

我在数据库中将数据类型字段作为文本,因此它无法比较数字。

在我看来,我通过使用 XML feed 生成适当列的脚本创建了该表

关于php - 使用 Laravel 5.5 极其简单的查询得到错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46279042/

相关文章:

javascript - 表单自动提交

mysql按多数票排序

php - MySQL 查询问题 - WHERE AND/OR

php - laravel 5.4 ownsTo 和 hasMany 不适用于 2 个外键

php - jquery在使用回车键输入超过两列的文本时动态添加带有值的表行

php - 在 PHP 中执行 Hook 方法

php - 使用 PHP 显示在线用户列表

javascript - AJAX 请求触发两次,而成功被调用一次

php - 单元测试 Laravel 密码重置电子邮件 - 可邮寄未排队

php - 关闭 mysqli 连接会产生 : Couldn't fetch mysqli_result