【发布时间】:2021-06-30 03:37:29
【问题描述】:
我有一张主表和两张明细表 表名:tb_main、tb_detail1、tb_detail2
tb_main
id, detail_code
tb_detail1
id, main_id
tb_detail2
id, main_id
我想使用主模型中的一个函数获取详细数据
public function detail()
{
if(detail_code == 1)
return $this->hasOne(Detail1::class, 'main_id', 'id');
else
return $this->hasOne(Detail2::class, 'main_id', 'id');
}
有什么想法吗?请帮我! 对不起,我的英语不好。
【问题讨论】:
-
如何获取detail_code,这个直接从Auth获取?
-
detail_code 值有 1(对于 tb_detail1)和 2(对于 tb_detail2)
-
@Dream811.also 显示你如何调用关系,detail_code 来自请求或数据库
-
你现在得到的输出是什么?
-
尝试 public function detail() { if($this->detail_code == 1) return $this->hasOne(Detail1::class, 'main_id', 'id');否则返回 $this->hasOne(Detail2::class, 'main_id', 'id'); }