kategoriler ve kategorilere ait resim adedini almak için şu sql sorgusunu kullanabilirsiniz;
SELECT gk.*, COUNT(gr.id) AS count
FROM galeriKategoriler AS gk
LEFT JOIN galeriResimler AS gr ON gr.parent_id = gk.id
GROUP BY gk.id
sorgunun şu çıktıyı verdiğini varsayarsak;
$galleries = [
['id' => 1, 'name' => 'Spor', 'count' => 3],
['id' => 2, 'name' => 'Doğa', 'count' => 5],
['id' => 3, 'name' => 'Yemek', 'count' => 2],
['id' => 4, 'name' => 'Hayat', 'count' => 3],
];şu kodu kullanırsanız;
$start = 0;
foreach ($galleries as &$gallery) {
$gallery['start'] = $start;
$start += $gallery['count'];
}
print_r($galleries);sonuç şöyle olur;
Array
(
[0] => Array
(
[id] => 1
[name] => Spor
[count] => 3
[start] => 0
)
[1] => Array
(
[id] => 2
[name] => Doğa
[count] => 5
[start] => 3
)
[2] => Array
(
[id] => 3
[name] => Yemek
[count] => 2
[start] => 8
)
[3] => Array
(
[id] => 4
[name] => Hayat
[count] => 3
[start] => 10
)
)