gpt4 book ai didi

php - Laravel Eloquent - 根据父表中列的值定义与三个可能表之一的关系

转载 作者:行者123 更新时间:2023-11-29 20:48:22 24 4
gpt4 key购买 nike

假设我有一篇带有评论部分的博客文章。使用 Laravel Eloquent 我从“评论”表和关系“用户”表获取数据。像这样的事情:

Comment::where('post_id', $post_id)
->with('user')
->get();

“users”表有一个名为“user_type”的列,其值为“user”或“admin”。

如果users表中的user_typeuser我想从regular_users表获取关系数据像这样:->with(user.regular_user)

如果users表中的user_typeadmin我想从admins表获取关系数据像这样: ->with('user.admin')

(所有关系都在模型中正确定义。)

我该怎么做?

最佳答案

不要使用 with,而是使用 whereHas 尝试以下操作:

即:

$regular_users = Comment::where('post_id', $post_id)
->whereHas('user',function ($user) {
$user->where('user_type', 'user')->with('regular_user');
})
->get();

关于php - Laravel Eloquent - 根据父表中列的值定义与三个可能表之一的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38255170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com