public static function searchCategories($categories, $products)
{
$productsByCate = [];
$array = [];
$result = [];
foreach ($products as $row) {
if (isset($productsByCate[$row['category_id']])) {
$productsByCate[$row['category_id']]++;
} else {
$productsByCate[$row['category_id']] = 1;
}
}
$list = 'categories-';
foreach ($productsByCate as $key => $value) {
if (strpos($key, $list) === false) {
$i = count($array);
$array[$i] = [];
self::findfather($array[$i], $categories, $key);
foreach ($array[$i] as $row) {
if (isset($result[$row['id']])) {
$result[$row['id']] = $result[$row['id']] + $value;
} else {
$result[$row['id']] = $value;
}
}
}
}
return self::orderByParents($categories, $result);
}