【发布时间】:2017-04-21 12:39:24
【问题描述】:
我有 2 个表,模型之间有自定义的 Eloquent 关系。与引用 Bankleverandor.fpid 的 Kredittkort.leverandor_id 的关系很直接
class Bankleverandor extends Model {
protected $primaryKey = 'fpid';
protected $guarded = [];
public function kredittkort() {
return $this->hasMany("App\Kredittkort", 'leverandor_id', 'fpid');
}}
和
class Kredittkort extends Model {
protected $guarded = [];
protected $primaryKey = 'fpid';
public function bankleverandor() {
return $this->belongsTo("App\Bankleverandor", "leverandor_id", 'fpid');
}}
关系很好。例如
Kredittkort::find(258053)->bankleverandor;
Bankleverandor::find(441)->kredittkort;
给了我预期的结果,表明在 Eloquent ORM 中正确定义了关系。但是,使用“with”子句调用关系会引发异常
RelationNotFoundException in RelationNotFoundException.php line 20:Call to undefined relationship [\App\Bankleverandor] on model [App\Kredittkort].
我正在尝试按如下方式检索关系
Kredittkort::with(["\App\Bankleverandor" => function($q) {return $q->select("fpid,orgnr"); }]);
我想了解如何在上述情况下检索关系。如果还有其他推荐的方式,那么我也很想知道
【问题讨论】:
标签: eloquent foreign-keys relationship laravel-5.4 laravel-eloquent