Przemysław Szczerbicki

Przemysław Szczerbicki Programista,
freelancer

Temat: Propel nie wykonuje zapytania

Witam,

Mam taki kod:
public function executeList(sfWebRequest $request)
{
$this->voivodship_id = $request->getParameter('id', 0);
$this->pager = new sfPropelPager('Restaurant', sfConfig::get('app_max_restaurants_per_page'));
$c = new Criteria();
if($this->voivodship_id > 0)
{

$c->add(CityPeer::VOIVODSHIP_ID, $this->voivodship_id);

}
//RestaurantPeer::doSelectJoinCity($c)
$this->pager->setCriteria($c);
$this->pager->setPeerMethod('doSelectJoinCity');

$this->pager->setPeerCountMethod('doCountJoinCity');
$this->pager->setPage($this->getRequestParameter('page', 1));

$this->pager->init();
}


Jak $this->voivodship_id nie spełnia warunku w IF to zapytanie doSelectJoinCity jest wykonywane. Jak jest IF spełniony to doSelectJoinCity się nie wykonuje, jedynie doCountJoinCity. Dlaczego? Próbowałem coś ze zmianą kolejności itd ale nie bardzo pomogło.

pzdr.
Roman Piekarski

Roman Piekarski Programista do
wynajęcia

Temat: Propel nie wykonuje zapytania

Przemysław Szczerbicki:
Witam,

Mam taki kod:
public function executeList(sfWebRequest $request)
{
$this->voivodship_id = $request->getParameter('id', 0);
$this->pager = new sfPropelPager('Restaurant', sfConfig::get('app_max_restaurants_per_page'));
$c = new Criteria();
if($this->voivodship_id > 0)
{

$c->add(CityPeer::VOIVODSHIP_ID, $this->voivodship_id);

}
//RestaurantPeer::doSelectJoinCity($c)
$this->pager->setCriteria($c);
$this->pager->setPeerMethod('doSelectJoinCity');

$this->pager->setPeerCountMethod('doCountJoinCity');
$this->pager->setPage($this->getRequestParameter('page', 1));

$this->pager->init();
}


Jak $this->voivodship_id nie spełnia warunku w IF to zapytanie doSelectJoinCity jest wykonywane. Jak jest IF spełniony to doSelectJoinCity się nie wykonuje, jedynie doCountJoinCity. Dlaczego? Próbowałem coś ze zmianą kolejności itd ale nie bardzo pomogło.

pzdr.

Spojz najpierw w logi jakie dostajesz zapytanie finalne. Bardzo mozliwe, ze zaprojektowales zlego joina albo w tabelach nie ma identfikatorow wiarzacych. Wzuc zapytanie bezposrednio do konsoli mysql i sprawdz rezultat.
Przemysław Szczerbicki

Przemysław Szczerbicki Programista,
freelancer

Temat: Propel nie wykonuje zapytania

W logach tego zapytania w ogóle nie było a problem leżał w zliczaniu. Jak propel widzi, że nie ma żadnego wyniku to nie wykonuje zapytania pobierającego dane.

pzdr.
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Propel nie wykonuje zapytania

mi najczęściej nie wykonują się zapytania jak zapomnę zrobić $con->commit() używając transakcji :-) ale ten problem chyba tu nie występuje

Następna dyskusja:

dziedziczenie propel/symfony




Wyślij zaproszenie do