Eloquent 模型父子关系
Eloquent Model parent and child relationship
我有两个 tables 问题和 QuestionBank。
我创建了两个模型 Questions 和 QuestionBank。
主键:问题table:(QuestionID),QuestionBank table:(QuestionBankID).
外键:Questions.QuestionBankID = QuestionBank.QuestionBankID
问题模型:
public function QuestionBank() {
return $this->belongsTo('App\QuestionBank'); // this matches the Eloquent model
}
题库模型:
public function Questions() {
return $this->belongsTo('App\Questions'); // this matches the Eloquent model
}
在我的控制器中我写了一段代码:
return Questions::with('QuestionBank')->get();
运行 路由器:
我得到了 question_bank:null
的空值对
我的输出:
[{"QuestionTitle":"OSCE","question_bank":null}]
由于您使用 non-standard 列名称,因此必须指定它们:
public function QuestionBank() {
return $this->belongsTo('App\QuestionBank', 'QuestionBankID', 'QuestionBankID');
}
反方向是HasMany
关系:
public function Questions() {
return $this->hasMany('App\Questions', 'QuestionBankID', 'QuestionBankID');
}
将此添加到您的 Question
模型以调整响应:
protected $appends = ['QuestionBankName'];
public function getQuestionBankNameAttribute() {
return $this->QuestionBank->QuestionBank;
}
我有两个 tables 问题和 QuestionBank。
我创建了两个模型 Questions 和 QuestionBank。
主键:问题table:(QuestionID),QuestionBank table:(QuestionBankID).
外键:Questions.QuestionBankID = QuestionBank.QuestionBankID
问题模型:
public function QuestionBank() {
return $this->belongsTo('App\QuestionBank'); // this matches the Eloquent model
}
题库模型:
public function Questions() {
return $this->belongsTo('App\Questions'); // this matches the Eloquent model
}
在我的控制器中我写了一段代码:
return Questions::with('QuestionBank')->get();
运行 路由器:
我得到了 question_bank:null
的空值对我的输出:
[{"QuestionTitle":"OSCE","question_bank":null}]
由于您使用 non-standard 列名称,因此必须指定它们:
public function QuestionBank() {
return $this->belongsTo('App\QuestionBank', 'QuestionBankID', 'QuestionBankID');
}
反方向是HasMany
关系:
public function Questions() {
return $this->hasMany('App\Questions', 'QuestionBankID', 'QuestionBankID');
}
将此添加到您的 Question
模型以调整响应:
protected $appends = ['QuestionBankName'];
public function getQuestionBankNameAttribute() {
return $this->QuestionBank->QuestionBank;
}