У меня есть простой запрос, который выглядит следующим образом:
$category = Category::with('translation')
->with(['childCategories' => function ($query) {
$query->active();
}])
->where('id', $id)->first();
Область и отношение:
public function scopeActive($query)
{
return $query->where('active', 1);
}
public function childCategories()
{
return $this->hasManyThrough('App\SupremeShop\Models\Category',
'App\SupremeShop\Models\CategoryToCategory',
'id_parent_category', //category_to_categories
'id', //categories
'id',
'id_category'); // category_to_categories.
}
Поэтому я ищу категорию, некоторые переводы и дочерние категории данного "основная категория. И запрос возвращает 15 дочерних категорий. Но в запросе есть область, в которой должен принимать только активные , а работает неправильно . Когда я использую dd, он также показывает неактивные дочерние категории. Я пытался удалить область и написать простой ГДЕ, но результат был тот же.
У кого-нибудь есть идеи, почему условие не работает должным образом?