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

Laravel 9中如何基于creator_id定义Question与User模型关联

解决Laravel 9中基于creator_id字段的模型关联问题

你只需要在关联方法里手动指定外键字段即可——Laravel默认会用关联模型的蛇形名称+_id作为外键(比如user_id),但你的表中使用的是creator_id,所以需要显式声明:

修改Question模型的关联方法

public function user()
{
    // 第二个参数指定当前模型表中的外键字段
    return $this->belongsTo(User::class, 'creator_id');
}

修改User模型的关联方法

public function questions()
{
    // 第二个参数指定关联模型表中的外键字段
    return $this->hasMany(Question::class, 'creator_id');
}

修改完成后就能正常使用关联关系:

  • 获取某个问题的创建者:$question->user
  • 获取某个用户发布的所有问题:$user->questions

内容的提问来源于stack exchange,提问作者Pouya Vaghefi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 00:15:30