![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, dopisałem sobie właśnie prostą obsługę cache dla menu. Model wygląda tak:
Kontroler:
I widok:
Tyle, że to teraz nie działa. Działa dopiero gdy wyniki zwrócę za pomocą result_array(), a w widoku będę miał zamiast tablic, obiekty. Co zrobić aby powyższy skrypt zadziałał? Wolałbym nie przerabiać modelów i widoków gdy będę sobie chciał dodać gdzie indziej obsługę cache na stronie. -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Poprostu próbujesz cache-ować obiekt Kohana_Mysqli_Result. Niestety to nie wyjdzie wyniki nie są automatycznie ładowane w całości do tego obiektu. Link. Użyj sobie w widoku var_dump() na tym wyniku z cache i prawdopodobnie dostaniesz coś takiego: Kod object(__PHP_Incomplete_Class)[18] public '__PHP_Incomplete_Class_Name' => string 'Kohana_Mysqli_Result' (length=20) //... Aby cache zadziałało nie musisz przerabiać modelu ani widoku, musisz tylko przy zapisywaniu cache dać $wynik->result_array() i powinno śmigać. PS. Kohana_Mysqli_Result::result_array przyjmuje dwa argumenty, i ten pierwszy powinien cię zainteresować jeśli chcesz z modelu zwracać tablicę z wynikami a nie obiekt Kohana_Mysqli_Result (pamiętaj tylko, że to może być zasobożerne przy dużej ilości wyników). Zobacz sobie w kohana api. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 07:32 |