Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] Zend_Db insert., Wstawianie tablicy zawierającej więcej kluczy niż tabela pól.
kodereq
post 17.01.2010, 17:06:00
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 27.02.2009

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


Przypuśćmy, że mamy tabelę 'table' zawierającą pola pole1, pole2 oraz pole3 i tablicę 'insertData' zawierającą klucze 'pole1', 'pole2', 'pole3' oraz 'pole4'.

Po wykonaniu w ZF $table -> insert($insertData); otrzymamy błąd związany z nadmierną liczbą kluczy w tablicy. I tutaj rodzi się pytanie. Czy da się jakoś intuicyjnie wykonać taki insert (lub w prosty sposób 'przefiltrować' tablicę)? Chodzi o uniknięcie prostackiego czyszczenia tablicy.

Coś takiego byłoby bardzo przydatne, chociażby podczas wstawiania całej zawartości $_POST po submicie formularza (obecnie niesty np. klucz w tablicy $_POST dla przycisku submit już powoduje błąd ...).

Bardzo proszę o sugestie.
Go to the top of the page
+Quote Post
batman
post 17.01.2010, 18:55:47
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Możesz pobrać informacje o kolumnach - metoda info, a następnie dzięki prostym operacjom na tablicach, wykluczyć nadmiarowe elementy. By nie zaśmiecać kontrolera, możesz napisać sobie klasę dziedziczącą po Zend_Db_Table_Row i zrobić to sprawdzenie w metodzie _insert.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
mazy
post 18.01.2010, 12:51:46
Post #3





Grupa: Zarejestrowani
Postów: 69
Pomógł: 4
Dołączył: 12.03.2003
Skąd: Suwałki

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


  1. $newRow = $model->fetchNew();
  2. $newRow->setFromArray($array);
  3. $newRow->save();
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 10.07.2025 - 07:30