[ZF] Proste zapytanie |
[ZF] Proste zapytanie |
18.03.2008, 11:10:17
Post
#1
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 3.03.2008 Skąd: Białoruś Ostrzeżenie: (0%) |
Mam taki skrypcik. Chciał bym zrobic prostego selecta. Zrobiłem selekta (jest właśnie zakomentowany), jak probuje uruchomić wywala mi tysiąc błedów, bez tego selecta wszystko działa. Proszę o pomoc
myprojekt/application/controllers/IndexController.php:
myprojekt/application/models/Oferty.php :
myproject/index.php :
Ten post edytował coolin1986 18.03.2008, 11:13:12 -------------------- webdesign hamburg
werbung hamburg GRAND MEDIA |
|
|
18.03.2008, 12:14:22
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) |
Zend_Db_Table::fetchAll() nie przyjmuje jako argumentu pełnego SELECTa, tylko część zawężajacą (WHERE).
Jeżeli chce wykonać pełne zapytanie, radzę pobrać adapter bazy poprzez Zend_Db_Table::getAdapter(), a następnie Zend_Db_Adapter_Abbstract::query(). Pozdrawiam. |
|
|
18.03.2008, 12:29:04
Post
#3
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 3.03.2008 Skąd: Białoruś Ostrzeżenie: (0%) |
Czyli:
w index.php
a w modelu:
? Teraz zupełnie się zaplątełem... Ten post edytował coolin1986 18.03.2008, 12:29:28 -------------------- webdesign hamburg
werbung hamburg GRAND MEDIA |
|
|
18.03.2008, 12:34:57
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) |
nie
Ten post edytował LBO 18.03.2008, 12:35:58 |
|
|
18.03.2008, 12:43:40
Post
#5
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) |
W Twoim przypadku jednak lepiej/prościej jest zastosować Zend_Db_Table_Select i przekazać do fetchAll().
|
|
|
18.03.2008, 13:01:50
Post
#6
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 3.03.2008 Skąd: Białoruś Ostrzeżenie: (0%) |
zastosowałem getAdapter() i rzeczywiście błedu nie ma. Ale ta funkcja nic mi nie zwraca.
A co do Zend_Db_Table_Select mam coś takiego: Fatal error: Class 'Zend_Db_Table_Select' not found in C:\wamp\www\myproject\application\models\Oferty.php on line 2 Po prostu chodzi mi o to żeby pisać gołe zapytania sql z minimalnym wykorzystaniem możliwości objektowych zend_db. Potrzebuję w krutkim czasie przenieść swój cms na zenda bez modyfikacji zapytań sql, bo to zajęło by strasznie dużo czasu... a cms ma już działać Ten post edytował coolin1986 18.03.2008, 13:02:48 -------------------- webdesign hamburg
werbung hamburg GRAND MEDIA |
|
|
18.03.2008, 13:11:58
Post
#7
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) |
Widzę że nie masz zastosowanego autoloadera. Jak jej nie wczytałeś co co sie dziwisz. Poza tym do obiektu selecta możesz się dostać poprzez $offer->select(); Nie wspominając już o tym że to wszystko jest prosto opisane w manualu: http://framework.zend.com/manual/en/zend.db.html
No to po co w ogóle ruszasz Zend_Db_Table ? Twórz połączenie poprzez $db = Zend_Db::factory($config->db); i załaduj obiekt do rejestru i z niego korzystaj. Jak chcesz wyniki zamiast query() zastosuj fetchAll() ofc. |
|
|
18.03.2008, 13:21:37
Post
#8
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 3.03.2008 Skąd: Białoruś Ostrzeżenie: (0%) |
No to po co w ogóle ruszasz Zend_Db_Table ? Twórz połączenie poprzez $db = Zend_Db::factory($config->db); i załaduj obiekt do rejestru i z niego korzystaj. Załamka... :/ pierwszy raz mam z zendem do czynienia i nie do końca rozumiem jak to mam zrobić... jak bym miał jakiś przykład... Jak chcesz wyniki zamiast query() zastosuj fetchAll() ofc. własnie tak wcześniej robiłem ale wolę na razie zwykłe zapytania -------------------- webdesign hamburg
werbung hamburg GRAND MEDIA |
|
|
18.03.2008, 13:28:49
Post
#9
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) |
Cytat własnie tak wcześniej robiłem ale wolę na razie zwykłe zapytania Nie. Wcześniej wywoływałeś poprzez Zend_Db_Table, a ja mówię o korzystaniu prosto z adaptera.
i w kontrolerze
I zajrzyj w końcu do tego manuala! |
|
|
13.04.2008, 21:46:56
Post
#10
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 3.03.2008 Skąd: Białoruś Ostrzeżenie: (0%) |
Ok, dzięki. Działa.
I jeszcze problem: nie wyświetla mi polskich znaków. Czy to trzeba coś w zendzie skonfigurować? -------------------- webdesign hamburg
werbung hamburg GRAND MEDIA |
|
|
13.04.2008, 21:58:46
Post
#11
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) |
Tyle co w przypadku każdego połączenia z db: SET NAMES/CHARACTER
|
|
|
13.04.2008, 22:07:29
Post
#12
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 3.03.2008 Skąd: Białoruś Ostrzeżenie: (0%) |
No Sabistik, dla Ciebie to zawsze wszystko proste!
Ale ja nie wiem gdzie to mam wpisać? Czy mam się grzebać w zend library? -------------------- webdesign hamburg
werbung hamburg GRAND MEDIA |
|
|
13.04.2008, 22:25:49
Post
#13
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) |
|
|
|
13.04.2008, 22:31:58
Post
#14
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 0 Dołączył: 3.03.2008 Skąd: Białoruś Ostrzeżenie: (0%) |
Aha no przecież! Taki drobiazg, a cieszę się jak małe dziecko! Działa! Dzięki
-------------------- webdesign hamburg
werbung hamburg GRAND MEDIA |
|
|
Wersja Lo-Fi | Aktualny czas: 24.05.2024 - 14:37 |