在laravel查询中舍入结果

问题描述 投票:0回答:1

嘿伙计们我有一个简单的问题,我正在对selectRaw查询进行一些数学运算,但我需要对结果进行舍入(例如使用floor())。如何在我的selectRaw查询中执行此操作?

            $primer =  DB::connection('lab_inv')
          ->table('products')
          ->join('primer_adaptor', 'products.id', 'primer_adaptor.Product_id')
          ->selectraw('primer_adaptor.Product_id, primer_adaptor.Primer_Name,
    primer_adaptor.Amount / primer_adaptor.Amount_Run AS Amount,
    products.Amount / (products.Amount_Run * products.Runs_week) AS Runs, (products.Runs / products.Runs_week) * 5 AS Running_days')
          ->get();
laravel
1个回答
1
投票

您可以像在原始MySQL查询中一样使用MySQL的FLOOR函数,例如:

$sql = "pa.Product_id, pa.Primer_Name, pa.Amount / pa.Amount_Run AS Amount, ";
$sql .= "FLOOR(p.Amount / (p.Amount_Run * p.Runs_week)) AS Runs, ";
$sql .= "(products.Runs / products.Runs_week) * 5 AS Running_days";
$primer =  DB::connection('lab_inv')
    ->table('products AS p')
    ->join('primer_adaptor AS pa', 'p.id', 'pa.Product_id')
    ->selectraw($sql)
    ->get();

在这里,我刚刚发言你命名为“Runs”的别名,但你可以在任何你想要的地方使用FLOOR

© www.soinside.com 2019 - 2024. All rights reserved.