Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][propel] warunek z data
AxZx
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


witam

to symfony zamiast pomagac wrzuca kolejne klody pod nogi (albo raczej pod palce:)

w tabeli profil mam kolumne data_urodzenia w formacie YYYY-mm-dd
w formularzu podaje przedzial wieku, czyli np 16 - 22
chcialbym teraz pobrac rekordy z bazy ktore spelniaja ten warunek.

  1. YEAR(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(data_urodzenia))) > 16 AND YEAR(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(data_urodzenia))) < 22


kombinuje z addAsColumn i getColumnForAs i jeszcze Criteria::custom ale to nic nie daje - caly czas jakis blad.


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
mazur83
post
Post #2





Grupa: Zarejestrowani
Postów: 59
Pomógł: 3
Dołączył: 21.02.2008

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


moze cos takiego zadziala:

Kod
$c = new Criteria();
$date_16 = date('Y-m-d',mktime(0, 0, 0, date("m")  , date("d"), date("Y") - 16));
$date_22 = date('Y-m-d',mktime(0, 0, 0, date("m")  , date("d"), date("Y") - 22));
$c->addAnd(ProfilPeer::DATA_URODZENIA,$data_22,Criteria::GREATER_EQUAL);
$c->addAnd(ProfilPeer::DATA_URODZENIA,$data_16,Criteria::LESS_EQUAL);


--------------------
Go to the top of the page
+Quote Post
AxZx
post
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


moge uznac to za rozwiazanie tymczasowe - droga na okolo. jednak przydaloby sie wiedziec jak rozne funkcje mozna w sql wykonywac poprzez propela:)

tylko ze mam dziwny problem z tym
kod jaki utworzylem z Twoja pomoca wyglada tak:
  1. <?php
  2. $date_min = date('Y-m-d',mktime(0, 0, 0, date('m') , date('d'), date('Y') - $wiek_min));
  3. $c->add(constant($grupa_peer.'::DATA_URODZENIA'), $date_min, Criteria::GREATER_EQUAL);
  4.  
  5. $date_max = date('Y-m-d',mktime(0, 0, 0, date('m') , date('d'), date('Y') - $wiek_max));
  6. $c->add(constant($grupa_peer.'::DATA_URODZENIA'), $date_max, Criteria::LESS_THAN);
  7. ?>


dlaczego problemgeneruje zapytanie tylko z jednym warunkiem?
  1. profil.DATA_URODZENIA<'1982-08-11'


o czyms znowu zapomnialem?

pozdrawiam


--------------------
aplikacje internetowe | Symfony
Go to the top of the page
+Quote Post
mazur83
post
Post #4





Grupa: Zarejestrowani
Postów: 59
Pomógł: 3
Dołączył: 21.02.2008

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


nie add tylko addAnd

pozdrawiam


--------------------
Go to the top of the page
+Quote Post
SongoQ
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Zeby odwolac sie 2x do tego pola trzeba zwrocic nowe kryteria i na nowych ktyreriach wykonac warunek


--------------------
Go to the top of the page
+Quote Post
AxZx
post
Post #6





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


w tym jest problem ze ktos moze wpisac w formularzu tylko jedna wartosc - wtedy tylko raz bedzie podany warunek.
ale widze ze jak w jednym warunku dam $c->addAnd to jest dobrze.


--------------------
aplikacje internetowe | Symfony
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 Aktualny czas: 21.08.2025 - 22:38