Laravel pluck嵌套关联仅返回部分值,如何获取全部sdoh_category_id?
Laravel多对多关联获取关联数据不全问题
在Laravel项目中,我通过HouseholdHead模型的sdoh多对多关联,调用pluck('pivot.sdoh_category_id')尝试获取household_id为25的所有sdoh_category_id,但实际仅返回8个值,而数据库的s_d_o_h_category_households关联表中存在15条对应记录。以下是相关代码、模型关联定义及当前返回结果,请求解决获取全部数据的问题:
控制器代码
foreach ($households as $household) { $chosenSdohCategories = $household->sdoh->pluck('pivot.sdoh_category_id')->toArray(); }
HouseholdHead模型关联定义
public function sdoh() { return $this->belongsToMany(SDOH::class, 's_d_o_h_category_households', 'household_head_id', 'sdoh_category_id'); }
SDOH模型关联定义
public function sdoh_category() { return $this->hasMany(SDOHCategory::class, 'sdoh_id', 'id'); } public function household_heads() { return $this->belongsToMany(Household::class, 's_d_o_h_category_households', 'sdoh_category_id', 'household_head_id'); }
当前返回结果
array:8 [▼ // resources\views/details-household-modal.blade.php 0 => 2 1 => 3 2 => 5 3 => 7 4 => 9 5 => 12 6 => 13 7 => 15 ]
内容的提问来源于stack exchange,提问作者Big Brother
相关产品推荐
相关产品推荐

