繁体   English   中英

无法获得有关加入多重雄辩关系的数据

[英]Unable to get data on joining Multiple Eloquent Relationships

我想显示Files表中的idFileNameFilePath以及User表中的idname以及course表列 - idcourseDisplayNameaboutCourse 但它从filesuser关系中都返回null 。我该如何解决这个问题?

$course=Course::with(['files:id,FileName,FilePath','user:id,name'])
->select('id','courseDisplayName','aboutCourse')
->where('userId',$request->tutorId)
->get();

课程模式

  public function files()
    {
        return $this->belongsTo(Files::class, 'fileId', 'id');
    }

    public function user()
    {
        return $this->belongsTo(User::class, 'userId', 'id');
    }

这给出了如下输出:

[
    {
        "id": 20,
        "courseDisplayName": "asasasb",
        "aboutCourse": null,
        "files": null,
        "user": null
    },
    {
        "id": 14,
        "courseDisplayName": "yuu",
        "aboutCourse": "kljkl",
        "files": null,
        "user": null
    }
]

您还必须选择外键fileIduserId才能使用filesuser的关系,因此查询将类似于

$course=Course::with(['files:id,FileName,FilePath','user:id,name'])
->select('id','courseDisplayName','aboutCourse', 'userId', 'fileId')
->where('userId',$request->tutorId)
->get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM