首页 > 解决方案 > 属性 [participants_count] 不存在但存在并且可以转储

问题描述

我有 2 个表格、晚会和参与者,由 2 个模型 Evenement 和 Participant 代表。这些实体是belongsToMany 相关的,所以我有第三个表evenement_participant 遵循Laravel 的命名约定,里面是外部的evenement_id 和participant_id 列。

我能够检索关系并且我可以

dd($evenement->participants)

这给了我一组参与者。在我的控制器中,我有这个数据库调用:

$evenements = Evenement::withCount(['participants' => function($query) {
  $query->where('is_active', 1);
}])

这个 withCount 为每个晚上生成一个参与者计数属性。在我的刀片视图中,evenements 集合上有一个 for-each 循环,我在某处这样做:

$evenement->participants_count

我面临这个错误:

此集合实例上不存在属性 [participants_count]。

但是,如果相反,我在同一个刀片视图中执行以下操作

@dd($evenement->participants_count)

它让我失望了。

我放弃了所有的晚上,只保留一个进行测试,但我仍然有同样的错误。

标签: laravel-8

解决方案


抱歉,在我的刀片循环中出现了一个错误


推荐阅读