У меня есть категории, связанные друг с другом в дереве. Каждая категория hasMany
детей. Каждая конечная категория hasMany
продукции.Яркие отношения нагрузки в laravel с условиями по отношению
Изделия также belongsToMany
различных типов.
Я хочу охотно загружать категории своими детьми и продуктами, но я также хочу поставить условие, что продукты имеют определенный тип.
Это как моя категория Модель выглядит
public function children()
{
return $this->hasMany('Category', 'parent_id', 'id');
}
public function products()
{
return $this->hasMany('Product', 'category_id', 'id');
}
модель продукта
public function types()
{
return $this->belongsToMany(type::class, 'product_type');
}
В моей базе данных у меня есть четыре таблицы: категории, продукт, тип и product_type
Я так старался загружать, но загружает все продукты, а не только те, которые выполняют условие:
$parentLineCategories = ProductCategory::with('children')->with(['products'=> function ($query) {
$query->join('product_type', 'product_type.product_id', '=', 'product.id')
->where('product_type.type_id', '=', $SpecificID);
}]])->get();
Это все еще дает мне все продукты – user3552551
вы ищете 'продукты', связанные с' children' или родительской категорией ' – Gayan
. Проверьте, не является ли это проблемой данных. т. е. все «товар», принадлежащий к той же «родительской категории» – Gayan