laravel 多级关联
Posted
技术标签:
【中文标题】laravel 多级关联【英文标题】:laravel muti lavel association 【发布时间】:2016-06-17 12:19:35 【问题描述】:我有 3 个表,这些表不符合 laravel
job_post Table
job_post_id
name
job_functional_area Table (has many with job_post table and belongsTo with functional_area)
job_functional_area_id
job_post_id
functional_area_id
functional_area
functional_area_id
name
现在我要获取job_post功能区
像这样的关系 job_post > job_functional_area > functional_area
在 cakephp 中,我们在 laravel 中使用包含我不知道。
我尝试过 Has Many Through,但在这种情况下它不起作用。请帮帮我
型号
class JobPost extends Model
protected $table = 'job_post';
protected $primaryKey = 'job_post_id';
class JobFunctionalArea extends Model
protected $table = 'job_functional_area';
protected $primaryKey = 'job_functional_area_id';
class FunctionalArea extends Model
protected $table = 'functional_area';
protected $primaryKey = 'functional_area_id';
【问题讨论】:
请发布您的模型、您的确切查询和您收到的错误。 如果你不想付出任何努力,你为什么指望别人帮助你? 对不起先生,我会发布这个 我已经发布了模型 【参考方案1】:你的模型应该看起来像这样。
class JobPost extends Model
protected $table = 'job_post';
protected $primaryKey = 'job_post_id';
public function jobFunctionalAreas()
return $this->belongsToMany('App\JobFunctionalArea');
class JobFunctionalArea extends Model
protected $table = 'job_functional_area';
protected $primaryKey = 'job_functional_area_id';
public function jobPosts()
return $this->hasMany('App\JobPost');
public function functionalArea()
return $this->belongsTo('App\FunctionalArea');
class FunctionalArea extends Model
protected $table = 'functional_area';
protected $primaryKey = 'functional_area_id';
public function jobFunctionalAreas()
return $this->hasMany('App\JobFunctionalArea');
您还可以在关系中添加自己的自定义 $primaryKey。
【讨论】:
以上是关于laravel 多级关联的主要内容,如果未能解决你的问题,请参考以下文章