Witajcie, zabralam sie za pierwszy Framework i robie na nim sklep z koszykiem.
http://fuelphp.com/docs/general/models.htmlUtknelam na moemncie, gdzie sprwadzam czy dany produkt zostal juz dodany do koszyka czy nie - jesli tak to zwiekszyc powinno jego ilosc, a jesli nie to dodac nowy produkt do koszyka - i tutaj mam problem, bo nie potrafie tego zrobic...
mam taki oto kod :
Tutaj jest moj MODEL :
class Koszyk extends \Model
{
public static function getInstance
() {
if (!self::$instance) {
self::$instance = new Koszyk();
}
return self::$instance;
}
private function __clone()
{
}
private function __construct()
{
$koszyk = Session::get('koszyk');
if ($koszyk == null) {
Session
::set('koszyk', array()); }
}
function dodaj($idProduktu)
{
$znaleziono = false;
$wybranyProdukt = Produkt::find_by_pk($idProduktu);
$koszyk = Session::get('koszyk');
foreach ($koszyk as $klucz => $produkt) {
if ($produkt['id'] == $wybranyProdukt['id']) {
$znaleziono = true;
$koszyk[$klucz]['ilosc']++; --> TUTAJ KRZYCZY ZE BLAD, prawdopodobnie ze $klucz jest obiektem, ale nie wiem jak tam wejsc :/
}
}
if ($znaleziono == false) {
$koszyk[] = $wybranyProdukt;
Session::set('koszyk', $koszyk);
}
A tak wyglada moj koszyk przy var_dump :
[0]=>
object(Model\Produkt)#26 (5) {
["_data":protected]=>
["id"]=>
string(1) "1"
["kategoria"]=>
string(6) "Bluzki"
["nazwa"]=>
string(6) "Tunika"
["rozmiar"]=>
string(2) "40"
["cena"]=>
string(4) "19.9"
["ilosc"]=>
string(1) "1"
["_is_new"]=>
bool(true)
["_is_frozen"]=>
bool(false)
}
["_is_new":protected]=>
bool(true)
["_is_frozen":protected]=>
bool(false)
["_sanitization_enabled":protected]=>
bool(false)
["_validation":protected]=>
NULL
}
[1]=>
object(Model\Produkt)#32 (5) {
["_data":protected]=>
["id"]=>
string(1) "8"
["kategoria"]=>
string(4) "Buty"
["nazwa"]=>
string(6) "Kozaki"
["rozmiar"]=>
string(2) "42"
["cena"]=>
string(5) "139.9"
["ilosc"]=>
string(1) "1"
}
["_is_new":protected]=>
bool(false)
["_is_frozen":protected]=>
bool(false)
["_sanitization_enabled":protected]=>
bool(false)
["_validation":protected]=>
NULL
}
}
Co robie zle??