【发布时间】:2020-04-12 05:36:04
【问题描述】:
我正在尝试获取用户的所有评论及其事件。 我在 Review 中有一个多态关系:它可以链接到 Estimate 或 EventDate。 EventDate 直接链接到 Event,而 Estimate 通过 AskEstimate 链接到它。
我想这样做:
User::with([
'reviews.reviewable.event',
'reviews.reviewable.ask_estimate.event'
])->get();
当然它会抛出一个异常:当reviewable是一个EventDate时,它没有任何AskEstimate关系,当它是一个Estimate时,它没有任何Event关系。
那么,根据可审查的价值,我怎样才能得到一个给我一个或另一个的东西呢?
谢谢!
编辑:
这是一个工作版本。
Review::where('user_id', $user->id)
->with([
'reviewable',
])
->loadMorph('reviewable', [
Estimate::class => ['ask_estimate'],
EventDate::class => ['event'],
]);
【问题讨论】:
标签: laravel eloquent polymorphism relationship