根据字段的 type 的不同,关联不同的模型该怎么写

如果表A type值 是 1就关联B表 如果A的type是2 则关联C表

        public function test()
        {
            if($this->type == 1) {
                return $this->hasOne(A::class, 'order_id', 'order_no');
            } else {
                return $this->hasOne(B::class, 'order_id', 'order_no');
            }
        }

我照上面这样写不行

dd($this->id) 的值为 null

控制器里是这样写的

$data = A::with('test')->get();

求大神指点!!再此先谢过

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 4
xiao

先在这里谢过了,我们数据库设计和多态有点区别 我们是 类型在 [1,2,3] 关联一个模型A [3,4]关联另一个模型B 。。多态好像只试用只有一个值的情况

7年前 评论
xiao

@moxiaomo 先在这里谢过了,我们数据库设计和多态有点区别 我们是 类型在 [1,2,3] 关联一个模型A [3,4]关联另一个模型B 。。多态好像只试用只有一个值的情况

7年前 评论

楼主解决了吗

6年前 评论
xiao (楼主) 6年前
xiao (楼主) 6年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!