【发布时间】:2016-11-10 08:16:15
【问题描述】:
假设我有一篇带有评论部分的博文。使用 Laravel Eloquent 我从“cmets”表和关系“用户”表中获取数据。像这样的:
Comment::where('post_id', $post_id)
->with('user')
->get();
“users”表有一个名为“user_type”的列,其值为“user”或“admin”。
如果users 表中的user_type 是user,我想从regular_users 表中获取关系数据,如下所示:->with(user.regular_user)。
如果users 表中的user_type 是admin 我想从admins 表中获取关系数据,如下所示:->with('user.admin')
(所有关系都在模型中正确定义。)
我该怎么做?
【问题讨论】:
-
可以在mysql中创建视图
-
为什么不直接加载两者,不管类型如何?
with('user', 'user.regular_user', 'user.admin')
标签: php mysql laravel eloquent relationship