我现在处于优势地位。我一直试图让这个非常简单的查询在过去2小时内工作,但它不会
所有查询都选择价格介于某个范围之间的所有行。查询如下所示:
select * from `properties` where `price` >= ? and `price` <= ? limit 16 offset
在phpmyadmin
中运行时返回正确的结果(2行)但是当我在Laravel中使用 - &gt; get()或 - &gt; 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
)
答案 0 :(得分:0)
我弄清楚它为什么不起作用
我在数据库中将数据类型字段设为text
,这就是为什么它无法比较这些数字。
在我的辩护中,我从使用XML Feed生成相应列的脚本创建了表