2016-03-04 111 views
0

随着我的看法我可以访问FoodTypes的集合。我已经将它转换为一个阵列,使其更容易 显示Laravel 5刀片 - 在计数条件

array:2 [▼ 
    0 => array:7 [▼ 
    "id" => 1 
    "name" => "Frozen" 
    "value" => "NOC M1" 
    ] 
    1 => array:7 [▼ 
    "id" => 2 
    "name" => "Fresh" 
    "value" => "NOC A1" 
    ] 
] 

最初,我有一个模型为每个单独的食物类型例如冷冻和新鲜模型,但我很快发现他们的表格/数据是相同的,所以这样做似乎不对。现在我有一个通用模型,其名称定义为食物的类型 。

无论如何,当我有每种类型的模型时,很容易对特定类型的数量进行计数。但是现在, 我发现自己做这样的事情

count($data->foodTypes) 

的问题是,我需要显示为每个类型的数量。以上将返回2,因为它不考虑名称 。所以从本质上讲,我需要做类似以下的事情

count($data->foodTypes->where('name', '=', 'Frozen')) 

会是这样的事情吗?

感谢

回答

1

是的,你可以使用其中

从雄辩集的基收集方法签名:

public function where($key, $value, $strict = true); 

这不会去太数据库再次。

$foods = \App\Foods::all(); 
$foods->where("food_type_id", 1)->count(); 
+0

我要真正做到这一点我的看法中虽然不是控制器 –

+0

所以,它发送到你的观点在某种程度上与在那里做。 {{$ count}}或{{$ freshFoods-> count()}}我不知道您的视图设计或您需要的数据。 –