我有两个模型,Ricetta
和Ingrediente
,并且这种关系:
Ingrediente.php
public function ricetta()
{
return $this->belongsToMany('\App\Models\Ricetta', 'ricetta_has_ingrediente', 'ingrediente_id', 'ricetta_id')->withPivot('qta', 'unita_misura_id');
}
Ricetta.php
public function ingrediente()
{
return $this->belongsToMany('\App\Models\Ingrediente', 'ricetta_has_ingrediente', 'ricetta_id', 'ingrediente_id')->withPivot('qta', 'unita_misura_id');
}
因此,通过此查询,我可以检索Ingrediente
中的所有Ricetta
:
$result = $model->newQuery()
->select('ingrediente.*')
->with('ricetta')
->whereHas('ricetta', function($query){
$query->where('ricetta_has_ingrediente.ricetta_id', 1);
})->get();
它可以工作,但是在$result->ricetta
中,我拥有所有Ricetta
和Ingredinte
,不仅是当前的Ricetta
(id = 1)。
如何修改查询以仅检索当前的Ricetta?
谢谢!
答案 0 :(得分:0)
您可以在加载约束时将约束传递给每个关系:
{
"extends": "../src/tsconfig.app.json",
"compilerOptions": {
"types": [
"node"
]
},
"exclude": [
"../src/test.ts",
"../src/**/*.spec.ts",
"../projects/**/*.spec.ts",
"../src/assets/webgl_2019_1/**/*"
],
"include": [
"../src/**/*",
"../projects/**/*"
],
"files": [
"./typings.d.ts"
]
}