【发布时间】:2019-05-13 19:50:15
【问题描述】:
我有项目和国家模型。存在多对多关系。我得到国家的项目。结果如下
array:5 [▼
0 => array:5 [▼
"id" => 2
"account_id" => 1
"start_date" => "Jul 2012"
"end_date" => "Aug 2013"
"countries" => array:1 [▼
0 => array:2 [▼
"id" => 148
"pivot" => array:2 [▶]
]
]
]
1 => array:5 [▶]
2 => array:5 [▶]
3 => array:5 [▶]
4 => array:5 [▶]
]
我不会计算所有独特的国家/地区。现在我用这种方式来做
$projects->pluck('countries')->collapse()->pluck('id')->unique()->count()
问题。我可以将 pluck 与嵌套关系列一起使用,并且有更多简短且好的解决方案吗?比如这样
$projects->pluck('countries.id')->count();
【问题讨论】:
-
嵌套 pluck 是不可能的,因为它返回数组。
-
我觉得你自己的解决方案不错。
-
@MisaGH 我得到了这个解决方案
$projects->pluck('countries.*.id')->collapse()->unique()->count()但我认为还有更好的解决方案
标签: php laravel eloquent laravel-collection