![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
W celach edukacyjnych piszę sobie coś jakby Active Record. Zastanawiam się jak to jest z klauzulą WHERE w innych tego typu rozwiązaniach. Jak na razie to widziałem tylko w Code Igniter coś takiego:
$AR->where($nazwa_kolumy, $wartość); co oznacza WHERE nazwa_kolumny = wartość. Można oczywiście wywołać tą metodę wielokrotnie co nam połączy poszczególne zapytania. Problemem jest przekazywanie warunków typu WHERE nazwa_kolumny > wartość lub jakieś bardziej skomplikowane zapytania typu: WHERE (kolumna1 > 10 OR kolumna2 < 100) AND kolumna3 = 1 Można to niby rozwiązać przez przekazywanie całego warunku do metody where(); jednak stwarza to dodatkowe problemy. Jakie są wasze propozycje i jak Wy rozwiązujecie coś takiego u siebie? Z góry dziękuję za wszelkie rady/wskazówki/sugestie. Pozdrawiam! -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Na wzór prepared statements, tj. where('age > ?', $age);
-------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
eZComponents udostępnia specjalny obiekt ezcQueryExpression uzbrojone w odpowiedni zestaw metod:
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A może coś na wzór Propela?
Trochę zawikłane, ale ogólnie to co jest w nawiasach jest jako osobny obiekt Criterion, który się dodaje na pewnych warunkach do innego itd. ... EDIT:
Ten post edytował Sedziwoj 16.04.2008, 09:41:19 -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję wszystkim za rzeczowe odpowiedzi. Zrobię chyba dodatkowy obiekt Critereia (uproszczony) tak jak w Propelu.
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie w Propelu masz dwa obiekty Criteria i Criterion, ale w Twoim przypadku byś chciał zrobić coś w stylu Criterion, bo zawiera właśnie cryteria (Criteria ma do tego złączenia, sortowanie, limity, offsety itp.)
EDIT: Głodnym, spacje zjadł ![]() Ten post edytował Sedziwoj 16.04.2008, 10:39:00 -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
@Sedziwoj, już myślałem, że nowa klawiatura ma defekt
![]() Ten post edytował ayeo 16.04.2008, 10:44:49 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 19:08 |