laravel eloquent从同一列中的两个字段获取最小值

时间:2018-02-23 09:43:49

标签: php mysql laravel-5.6

我的数据库就像这样

id |  product_id |   cost1 |   cost2
1       2          33      20
2       2          25      36
3       3          10      15

我需要product_id 2的最低成本(cost1和cost2的最小值)的结果 我正在使用laravel框架。 有人帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以从以下多个字段中获取最小值:

$query = DB::table('product')
    // to get multiple min values
    ->selectRaw('min(cost1) AS minCost1, min(cost2) AS minCost2') 
    ->where('product_id', 2);

从最小值获取最小值尝试:

$query = DB::table('product')    
    // get least value from min of two fields
    ->selectRaw(' LEAST(min(cost1), min(cost2)) AS finalMin') 
    ->where('product_id', 2);

LEAST()将返回最小的元素