OK. A czy w tym modelu ogarnie mi to jedna pętla czy też muszę dodać drugą?
Chyba tego nie ogarnę.
Przy pętli:
foreach($rows as $key => $row){
$this->data['categories'][]= $row;
}
mam tak:
Array
(
[0] => Array
(
[pname] => Produkt1 z kategori 1
[pid] => 1
[cid] => 1
[cname] => kategoria 1
)
[1] => Array
(
[pname] => Produkt1 z kategori 1
[pid] => 2
[cid] => 1
[cname] => kategoria 1
)
[2] => Array
(
[pname] => Produkt1 z kategori 2
[pid] => 3
[cid] => 2
[cname] => kategoria 2
)
[3] => Array
(
[pname] => Produkt1 z kategori 3
[pid] => 4
[cid] => 3
[cname] => kategoria 3
)
[4] => Array
(
[pname] => Produkt2 z kategori 3
[pid] => 5
[cid] => 3
[cname] => kategoria 3
)
[5] => Array
(
[pname] => Produkt3 z kategori 3
[pid] => 6
[cid] => 3
[cname] => kategoria 3
)
[6] => Array
(
[pname] =>
[pid] =>
[cid] => 4
[cname] => kategoria bez produktów
)
)
Przy pętli:
foreach($rows as $key => $row){
$cid = $row['CID'];
$this->data['categories'][$cid] = array('name' => $row['CNAME'], 'products' => array()); }
Mam tylko tyle:
Array
(
[] => Array
(
[name] =>
[products] => Array
(
)
)
)
A przy pętli:
foreach($rows as $key => $row){
$cid = $row['CID'];
$this->data['categories'][$key] = array('name' => $row['CNAME'], 'products' => array()); }
Mam to:
Array
(
[0] => Array
(
[name] =>
[products] => Array
(
)
)
[1] => Array
(
[name] =>
[products] => Array
(
)
)
[2] => Array
(
[name] =>
[products] => Array
(
)
)
[3] => Array
(
[name] =>
[products] => Array
(
)
)
[4] => Array
(
[name] =>
[products] => Array
(
)
)
[5] => Array
(
[name] =>
[products] => Array
(
)
)
[6] => Array
(
[name] =>
[products] => Array
(
)
)
)
OK. Coś ruszyło.
Przy warunku:
foreach((array)$rows as $row) { $cid = $row['cid'];
$cname = $row['cname'];
$this->data['kategorie'][$cid] = array( 'c_id' => $cid,
'c_name' => $row['cname']
);
Mam tablice kategorii:
Array
(
[1] => Array
(
[c_id] => 1
[c_name] => kategoria 1
)
[2] => Array
(
[c_id] => 2
[c_name] => kategoria 2
)
[3] => Array
(
[c_id] => 3
[c_name] => kategoria 3
)
[4] => Array
(
[c_id] => 4
[c_name] => kategoria bez produktów
)
)
Jak to ugryźć dalej?