首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel使用子表获取列名,并进行紧急加载

问Laravel使用子表获取列名,并进行紧急加载
EN

Stack Overflow用户
提问于 2021-10-04 01:38:17
回答 1查看 29关注 0票数 0

我想使用其他父表的子表从profile表中获取数据。

这是表格

配置文件表

代码语言:javascript
复制
id
profile_name

事务处理表

代码语言:javascript
复制
id
transaction_name

子事务表

代码语言:javascript
复制
id
transaction_id
profile_id

现在,我想使用急切加载从事务模型中获取配置文件名称。我尝试在事务模型中有一个虽然关系,但返回null

下面是我在事务模型中的关系

代码语言:javascript
复制
public function profileName()
    {
         return $this->hasOneThrough(
            Profiler::class,
            SubTransaction::class,
            'profile_id',
            'id',
            'id',
            'transaction_id',
         );
    }

这就是我试图从事务控制器获取的内容

代码语言:javascript
复制
$options = Transaction::with([
            'profileName:id,profile_name as profileName',
        ])
        ->get();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-04 02:06:04

它返回null,因为我认为您在外键和本地键之间的匹配方面有一点小问题。您可以尝试以下代码:

代码语言:javascript
复制
     return $this->hasOneThrough(
        Profiler::class, //Final model we wish to access
        SubTransaction::class, //The name of the intermediate model
        'transaction_id', //Foreign key on sub_transaction table
        'id', //Foreign key on profile table
        'id', //Local key on transaction table
        'profile_id', //Local key on sub_transaction table
     );

如果你有什么问题,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69430145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档