gpt4 book ai didi

php - 'where' 中的 Laravel 数字比较不起作用

转载 作者:可可西里 更新时间:2023-11-01 01:16:05 26 4
gpt4 key购买 nike

我有一个 Laravel 5.1 应用程序,并且在使用数字比较的“where”时遇到了问题。具体来说,我正在尝试做:

{{\App\Items::all()->where('paid_price','>',0)->count()}}

paid_price 的 SQL 'type' 是 'decimal(8,2)'。有几个 Item 行,其中 paid_price 实际上大于零,但上面的代码只产生 0。像下面这样不依赖数值比较的东西工作得很好 - 你能给我任何提示为什么 > 不没工作?非常感谢

{{\App\Items::all()->where('other_column','some_value')->count()}}

我的 Items 类的代码如下:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Items extends Model {
protected $fillable =['gateway','paid_price','payment_date','auth_date','charge_date','refunded_date'];
protected $dates = ['payment_date','auth_date','charge_date','refunded_date'];
public function setUserIdAttribute($value)
{
$this->attributes['user_id'] = $value ?: null;
}
}

最佳答案

where 子句中的比较应该可以正常工作。只需删除 all()

\App\Items::where('paid_price','>',0)->count()

如果你指定all(),它会首先返回一个Items对象的数组,所以当你调用where()函数时,会导致对返回的数组查询错误

关于php - 'where' 中的 Laravel 数字比较不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38647959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com