我对Laravel来说还很陌生,我被困在构建更复杂的查询中:
我有3个表格及其模型:
代码:
因子
public function purposes() {
return $this->hasMany('App\Purpose', 'code_purposes', 'code_id', 'purpose_id');
//I could be wrong here
}
目的:
代码目的:
purpose_id
public function codes() {
$this->belongsToMany('App\Code'); //I could be wrong here
}
public function purposes() {
$this->belongsToMany('App\Purpose'); //I could be wrong here
}
我想要的是获取所有代码,条件是目的名称='some_name'
我以为这种关系很容易,但是我无法弄清楚。
那么我该如何在Laravel中做到这一点?
答案 0 :(得分:0)
在Code
模型中:
public function purposes() {
return $this->belongsToMany('App\Purpose');
}
在Purpose
模型中:
public function codes() {
return $this->belongsToMany('App\Code');
}
现在,您可以获取以下数据:
$codes = Purpose::where('name', 'some_name')->first()->codes;
关系表名称必须为
code_purpose
。此表不需要任何模型。