【发布时间】:2021-04-19 14:54:18
【问题描述】:
我正在尝试使用 Laravel eloquent 进行查询。我有一个表posts,它有一个变形关系列author。这个author 列可以引用users 表或admins 表。所以这就是我获取每个posts 的author 的方式:
$query = Post::with(['author']);
现在,如果author 是user,我想包括另一个表,即address。问题是,admin 表中没有 address 关系。
所以,当我尝试这样做时,
$query = Post::with([
'author' => function ($q) {
$q->with('address');
}
]);
它抛出了 Illuminate\Database\Eloquent\RelationNotFoundException 异常,因为关系 address 没有为 admin 定义。
我该如何解决这个问题?我想用author 获取所有posts,并将address 包含在具有address 的作者中
【问题讨论】: