Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 2 Dołączył: 18.01.2008 Ostrzeżenie: (0%)
|
Męczę się jakiś czas z takim problemem.
Mam tabelę Pizza w której jest kolumna: nazwa (określa nazwe pizzy) Jak mam pobrać z bazy za pomocą propela wszystkie nazwy pizz (całą kolumne "nazwa") i później jak to wstawić do formularza select |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 17 Dołączył: 1.11.2007 Skąd: Zielona Góra Ostrzeżenie: (0%)
|
Nie będę dawać ci rozwiązania na tacy ale myślę że ten link na pewno ci pomoże jeśli go jeszcze nie przestudiowałem to polecam
LINK szczególnie przeczytaj ten paragraf Playing with the Choices |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 2 Dołączył: 18.01.2008 Ostrzeżenie: (0%)
|
To umieścić już umiem :-)
Tylko został problem z pobraniem danej kolumny z bazy Próbując coś takiego: Kod $oCriteria = new Criteria(); $oCriteria->clearSelectColumns(); $oCriteria->addSelectColumn(AttackPeer::ATTACK_NAME); $this->table = AttackPeer::doSelect( $oCriteria ); to się wykrzacza: Kod [b]Notice[/b]: Undefined offset: 1 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]279[/b] [b]Notice[/b]: Undefined offset: 2 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]280[/b] [b]Notice[/b]: Undefined offset: 3 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]281[/b] [b]Notice[/b]: Undefined offset: 4 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]282[/b] [b]Notice[/b]: Undefined offset: 1 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]279[/b] [b]Notice[/b]: Undefined offset: 2 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]280[/b] [b]Notice[/b]: Undefined offset: 3 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]281[/b] [b]Notice[/b]: Undefined offset: 4 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]282[/b] [b]Notice[/b]: Undefined offset: 1 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]279[/b] [b]Notice[/b]: Undefined offset: 2 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]280[/b] [b]Notice[/b]: Undefined offset: 3 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]281[/b] [b]Notice[/b]: Undefined offset: 4 in [b]C:\wamp\www\projects\game\lib\model\om\BaseAttack.php[/b] on line [b]282[/b] Jak mam pobrać wszystkie dane tylko z jednej kolumny ? |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 24 Dołączył: 18.01.2008 Skąd: Warszawa Ostrzeżenie: (0%)
|
Cytat Tylko został problem z pobraniem danej kolumny z bazy w Propelu chcąc ograniczyć ilość kolumn pobieranych z bazy danych możesz: - przeprowadzić ręcznie hydratacja danych (dużo kodu) - stworzyć 2 modele do tej samej tabeli (nie praktyczne) - bawić się lazyLoad (nie jest to pełne rozwiązanie problemu) - zmienić ORM na Doctrine (najlepsze rozwiązanie) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 17 Dołączył: 1.11.2007 Skąd: Zielona Góra Ostrzeżenie: (0%)
|
no ale jak se pobierzesz nawet wszystkie kolumny z bazy to wyświetlić możesz tylko tą na której ci zalezy pisząc metode __tostring() podajże tak się ona nazywa. Wtedy w polu select będzie widoczna tylko ta kolumna na jakiej ci zależy. Oczywiscie metode ta zamieszczasz w pliku modelu z którego wyciągasz informacje.
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 4 Dołączył: 16.07.2008 Skąd: Gdańsk Ostrzeżenie: (0%)
|
__toString() to najłatwiejsze rozwiązanie ale mało wydajne. Żeby pobrać tylko interesujące nas pola można zrobić tak:
Wynikiem jest taka tablica: $result_array[0]['attackName']. Przydaje się do pobierania dużej ilości rekordów z kilku tabel na raz. Ten post edytował dr4ko 14.10.2009, 13:59:22 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 14:05 |