根据字段的 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 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4
xiao

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

6年前 评论
xiao

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

6年前 评论

楼主解决了吗

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

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