Problem jest następujący
Wykonałem takie zapytanie w Symfony
<?php $connection = Propel::getConnection(); $query = "SELECT DISTINCT p.hotele_id, p.kwatery_id, p.nazwa, p.rodzajepokoi_id FROM
pokoje p WHERE p.id NOT IN ( SELECT t.pokoje_id FROM terminy t WHERE (t.data BETWEEN '".$od."' AND '".$do."' ))"; $statement = $connection->prepareStatement($query); $rs = $statement->executeQuery(); ?>
i otrzymuję oczekiwany wynik, ale czy mozna za pomocą warstwy abstrakcyjnej
<?php $c=new Criteria(); $c->addJoin(PokojePeer::ID,TerminyPeer::POKOJE_ID, Criteria::LEFT_JOIN);//co wstawić zamiast LEFT JOIN aby otrzymac oczekiwany resultat , czy wogole można
taki efekt otrzymać ta drogą $c->add(TerminyPeer::DATA," BETWEEN '".$od."' AND '".$do."'",Criteria::CUSTOM); $this->results=PokojePeer::doSelect($c); ?>
to zapytanie nie zwróci oczekiwanego wyniku, czy mozna otrzymac taki wynik poprzez warstwę abstrakcji?
W sumie to jest tak, że jest tabela z pokojami, jest druga tabela z terminami, kazdy dzien rezerwacji dla pokoju ma rekord w tabeli twerminy, kolumny w tab terminy to id, data i pokoje_id, zadajemy zakres czasowy od do
i chcemy wyszukac pokoje, dla ktorych nie ma rezerwacji w zadanym przedziale czasowym, jak to zrobic przy uzyciu warstwy abstarkcji
proszę o wskazówki, jeśli można
Stachu