Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> IN czy OR, propel
Foxx
post
Post #1





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

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


Witam, przyszło mi do głowy takie pytanie - jaka jest różnica między używaniem IN a OR w zapytaniu SQL? Używam Propela, żeby utworzyć w nim OR trzeba zrobić mniej więcej tak:

  1. $criterion1 = $c->getNewCriterion(UzytkownikStatusPeer::SLUG, 'projektant');
  2. $criterion2 = $c->getNewCriterion(UzytkownikStatusPeer::SLUG, 'sprzedawca');
  3. $c->add($criterion1->addOr($criterion2));


Natomiast taki sam efekt uzyskam używając IN, a kod będzie wyglądał tak:

  1. $c->add(UzytkownikStatusPeer::SLUG, array('projektant', 'sprzedawca'), Criteria::IN);


Czy są jakieś przeciwwskazania przed używaniem IN poza tym, że czasami nie da się go użyć (np. WHERE wiek>'10' OR wiek<'4') ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Taka sama różnica jak w używaniu OR czy in_array
Za pomocą OR możesz "zasymulować" in_array ale za pomocą in_array nie zawsze możesz zrobić OR.
Nie ma przeciwskazań co do IN

Ten post edytował wookieb 11.12.2009, 00:12:34


--------------------
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: 20.08.2025 - 06:10