如何从Laravel Illuminate \ Support \ Collection获取财产?

时间:2019-05-07 11:45:02

标签: laravel-5.2 php-7

我正在尝试从收藏夹中获取财产,但我不能这样做。

我有这个查询:

$calls = collect(                                                                                                                                                                                                                                                                      
   DB::select("SELECT count(id)                                                                                                                                                                                                                                                               
               FROM calls                                                                                                                                                                                                                                                                     
               WHERE started_at >= '" . $date . "' AND                                                                                                                                                                                                                                               
                     linked_id IS NULL")                                                                                                                                                                                                                                          );

结果我得到了这个

Illuminate\Support\Collection {#82146
     all: [
       {#1097
         +"count": 15,
       },
     ],
   }

如何获得此“计数”?我试图

$calls->count
$count = get_object_vars($calls)

但是在第一种情况下,我有: PHP错误:未定义的属性:Illuminate \ Support \ Collection :: $ count第1行 第二秒钟我得到了一个空数组。

1 个答案:

答案 0 :(得分:0)

  

首先,请将别名“ count(id)称为calls_count”

这是您的查询。

$calls = collect(DB::select("SELECT count(id) as calls_count FROM calls WHERE started_at >= '" . $date . "' AND linked_id IS NULL"));

现在有几种获取计数值的方法。

1。)

echo $calls[0]->calls_count;

2。)

$calls = $calls->first();
echo $calls->calls_count;

3。)

echo $calls->pluck('calls_count')->first() 

(我喜欢这个)

希望获得帮助,如有任何疑问,请通知我。