凭借我的观点,我可以访问一系列FoodTypes。我已将其转换为数组以使其更容易 显示
array:2 [▼
0 => array:7 [▼
"id" => 1
"name" => "Frozen"
"value" => "NOC M1"
]
1 => array:7 [▼
"id" => 2
"name" => "Fresh"
"value" => "NOC A1"
]
]
最初,我为每个单独的FoodType设置了一个模型,例如冷冻和新鲜模型,但我很快就发现了 他们的表/数据是相同的,所以这样做似乎是错误的。现在我有一个通用模型,名称定义 食物的类型。
无论如何,当我为每种类型设置模型时,对特定类型的数量进行计数很简单。然而,现在, 我发现自己在做这样的事情
count($data->foodTypes)
问题是,我需要显示每种类型的数字。以上将返回2,因为它不需要 这个名字考虑在内。所以从本质上讲,我需要做类似以下的事情
count($data->foodTypes->where('name', '=', 'Frozen'))
这样的事情会成为可能吗?
由于
答案 0 :(得分:1)
是的,您可以使用其中。
来自eloquent集合的基本集合的方法签名:
public function where($key, $value, $strict = true);
它也不会再次进入数据库。
$foods = \App\Foods::all();
$foods->where("food_type_id", 1)->count();