You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel关联返回null:查询用户已购课程时course关联无数据问题

问题原因

你的关联定义参数填写错误,导致Laravel无法正确匹配关联数据。

belongsTo关联的第二个参数是当前模型(PurchasedCourse)中存储的、指向关联模型(Course)的外键字段名,你现在填的是id,相当于用PurchasedCourse自己的主键ID去匹配Course表的主键ID,不符合实际关联逻辑,自然查询不到结果返回null。

修复方案

  1. 先确认purchased_courses表中存储课程ID的外键字段名,常规命名为course_id,如果是自定义命名请对应替换。
  2. 修改PurchasedCourse模型中的course关联方法:
public function course()
{
    // 外键名为course_id的情况可以省略参数,Laravel会自动识别
    return $this->belongsTo(Course::class);
    
    // 如果你的外键是自定义名称,比如是c_id,就写为
    // return $this->belongsTo(Course::class, 'c_id');
}

内容的提问来源于stack exchange,提问作者Reza Khodarahmi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 20:12:02