我需要选择具有特定颜色的类别中的所有产品,以便在类别视图(具有由表单指定的颜色)中具有该类别的所有产品,但仅具有所选颜色。
我已经尝试过了...但是我知道我错了!我对hasManyThrough不太了解...
在Prodotto模型中:
public function categoria() // il nome del metodo è il metodo della relazione
{
return $this->hasOne(Categoria::class,
'id','categoria_id'
);
}
public function colori()
{
return $this->belongsToMany(Colore::class , 'prodotto_colore')->withTimestamps();
}
在Colore模型中:
public function prodottiCategoriaColore()
{
return $this->hasManyThrough(Prodotto::class, Categoria::class);
}
在分类模型中:
public function prodotti() // il nome del metodo è il metodo della relazione
{
return $this->hasMany(Prodotto::class,
'categoria_id','id'
);
}
在CategoriaController中:
private function colore($categoriaId , $coloreId)
{
$categoria_qb = Categoria::query()
->where('id', '=', $categoriaId)->with('prodotti');
$prodottiColore_qb = $categoria_qb->where('colore_id' , $coloreId)->with('prodottiCategoriaColore');
$prodotti = $prodottiColore_qb->first();
return view('frontend.categoria', ['prodotti' => $prodotti]);
}
在数据库中,我有一个用于prodotti的表,一个用于colori的表,一个用于类别的表和一个枢轴prodotto_colore(产品ID-颜色ID)