如何获取列的值而不是数组?

How to get value of column but not an array?

我想将数组更改为数字。

这就是我得到的 "total_amount" => "817450.00"

但我只想要 817450.00

如何改为数字而不是数组。

  $total_sale = CtAgent::where('agent_id', $agent_id)
    ->select('total_amount')
    ->orderByDesc('ct_id')
    ->limit('1')
    ->first();
    dd($total_sale);

show number

 $total_sale = CtAgent::where('agent_id', $agent_id)
    ->select('total_amount')
    ->orderByDesc('ct_id')
    ->limit('1')
    ->first()['total_amount'];

您可以简单地使用属性:

  $total_sale = optional(CtAgent::where('agent_id', $agent_id)
    ->select('total_amount')
    ->orderByDesc('ct_id')
    ->limit('1')
    ->first())->total_amount;
    dd($total_sale);

在查询 returns null 的情况下使用可选的,这样它就不会抛出异常。

以前的答案会起作用,但这里有一种不同的方法,我更喜欢这种方法。

$total_sale = CtAgent::where('agent_id', $agent_id)
->orderByDesc('ct_id')
->pluck('total_amount')
->first();

& 如果没有找到记录或值为空,则无需处理。 ;)