使用CI4中的模型从MySQL中选择多列操作值

xriantvc  于 2023-03-11  发布在  Mysql
关注(0)|答案(1)|浏览(153)

我想从MySQL的CI4项目中获得多列操作值的列。
这是我尝试过的。
products中有3个字段qty, size, unit_price,我想得到所有这3个字段的乘积值。

class ProductModel extends Model
{
    protected $allowedFields = ['size', 'qty', 'unit_price'];

    public function getPriceOfOneProduct()
    {
        return $this
            ->select('qty * size * unit_price AS price_of_one_product')
            ->findAll();
    }
}

正如你所看到的,我正试图得到这样一个专栏:qty * size * unit_price
但是$allowedFields中没有指示,因此CI4返回如下错误:

`Unknown column 'qty * size * unit_price' in 'field list' `

我必须使用查询生成器吗?或者有什么解决这个问题的方法吗?如果你知道如何处理这个问题,请回答我的问题。谢谢。

exdqitrt

exdqitrt1#

像这样做

class ProductModel extends Model
{
    protected $table = 'products';

    public function getPriceOfOneProduct()
    {
        $query = $this->db->query('SELECT (qty * size * unit_price) AS price_of_one_product FROM products');
        return $query->getResult();
    }
}

相关问题