Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapis do bazy tablicy z danymi. $tablica->save() wyrzuca bład: Call to a member function save() on a non-object
tejek
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 12.11.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


bo $BonusesRows to tablica

czyli tak jakbyś zrobił

$cos = array();

$cos->save();
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Problem z obiektówką nie ma żadnego związku. Przenosze
Go to the top of the page
+Quote Post
tejek
post
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 12.11.2005

Ostrzeżenie: (0%)
-----


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.

Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$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();
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:22