使用多深度点表示法时,在使用withTrashed()时遇到问题。
在以下情况下一切正常:
with(['trials.activity' => function ($q) { $q->withTrashed(); }])->
dd()返回:
#relations: array:1 [▼
"activity" => Activity {#1139 ▶}
]
但是,当添加多深度符号时,被删除的行的关系不会出现,例如:
with(['trials.activity.goalcategories.goals.scoretype' => function ($q) { $q->withTrashed(); }])->
dd()返回:
#relations: array:1 [▼
"activity" => null
]
该活动具有已删除的行,但是如果可能的话,如果行也以点符号的深度删除,则最好包括这些关系。
有没有办法使它与闭包一起工作,还是有一些解决方法?
答案 0 :(得分:0)
您当前正在将b
应用于withTrashed()
关系。
改为使用此:
scoretype
答案 1 :(得分:0)
回调在关系列表中的最后一个上运行,因此您需要在中间将其分解:
->with(['trials.activity' => function ($q) {
$q->withTrashed()
->with(['goalcategories.goals.scoretype']);
}])