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
相关产品推荐
相关产品推荐

