Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis do bazy tablicy z danymi. $tablica->save() wyrzuca bład: Call to a member function save() on a non-object
Forum PHP.pl > Forum > PHP
tejek
Witam,

Mam problem z zapisem danych do bazy MySql, a dokładnie to tablicy z danymi. Tablica jest tworzona dynamicznie poniżej kawałek kodu. Podczas próby zapisywania wyrzuca mi taki błąd:
Fatal error: Call to a member function save() on a non-object in .... in line 150, dokładnie chodzi o ten kawałek kodu: $BonusesRows->save(); nie mam pomysłu czemu to nie działa ;/

  1. if($params['bonuses'] == 1)//miejsce kategorie
  2. {
  3. $i = 0;
  4. foreach($params['bonuses_id'] as $val)
  5. {
  6. $BonusesRows[$i] = new Model_TrainingBonuse();
  7. $BonusesRows[$i]->Trainings_idTrainings = $record->idTrainings;
  8. $BonusesRows[$i]->Bonuses_idBonuses = (int)$val;
  9. $i++;
  10. }
  11. $BonusesRows->save();
  12.  
  13. }


A tutaj dołaczam część danych jakie są wysyłane z formularza i zapisywane do $params
  1. 'bonuses' => string '1' (length=1)
  2. 'bonuses_id' =>
  3. 0 => string '1' (length=1)
  4. 1 => string '2' (length=1)


Tak mniej więcej wygląda tablica do której mają zostać zapisane dane:
  1. CREATE TABLE IF NOT EXISTS `nazwa`.`Trainings_has_Bonuses` (
  2. `Trainings_idTrainings` INT NOT NULL ,
  3. `Bonuses_idBonuses` INT NOT NULL ,
  4. ENGINE = InnoDB
  5. DEFAULT CHARACTER SET = utf8
  6. COLLATE = utf8_polish_ci
Fifi209
bo $BonusesRows to tablica

czyli tak jakbyś zrobił

$cos = array();

$cos->save();
nospor
Problem z obiektówką nie ma żadnego związku. Przenosze
tejek
Cytat(Fifi209 @ 23.06.2011, 15:51:25 ) *
bo $BonusesRows to tablica

czyli tak jakbyś zrobił

$cos = array();

$cos->save();


Nie do końca rozumiem twoją podpowiedz, mógłbyś mi podpowiedzieć co mam zrobić, abym mógł zapisywać dane.

nospor
$BonusesRows->save();
Robisz ->save() na tablicy. Tablica to nie obiekt. ->save() możesz robić na obiekcie a nie na tablicy.

Obiekty przecież masz tu:
$BonusesRows[$i] = new Model_TrainingBonuse();
czyli jak coś to powinno być: $BonusesRows[$i]->save();
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.