ověření obsahu $this->conn->table(‚gallery_pictures‘)->where(‚id_gallery‘, $id)
- qteck
- Člen | 164
Ahoj, jak mohu v presenteru ověřit zda v tomto něco je? Projde to ikdyž je galerie prázdná a já bych chtěl nastavit v presenteru fash message „Galerie je zatím prázdná“
vím že tohle je blbost, ale pro ilustraci:
$this->template->pictures = $this->pictures->getPictures($id);
if(empty($this->template->pictures))
{ echo "jj";
var_dump($this->template->pictures->name);
$this->flashMessage('Galerie je prozatím bez obsahu.', 'info');
}
pictures je vždycky plné objektů, tak jsem si říkal že to zkusím prostě udělat na pole name, ale to vrací název tabulky při plné i prázdné.
Díky
- David Matějka
- Moderator | 6445
misto empty pouzij count. Jelikoz z getPictures asi vracis Selection, tak to to „empty“ nebude nikdy
- qteck
- Člen | 164
Jo takhle, jakože výběr.
Jsem zmatenej z toho co vrací vždycky dump toho objektu. Očekával bych jako normálně po položení dotazu pouze skupinu polí který hodím do foreachu.
ale když to dumpnu právě, tak je tam toho spousty. Proto taky nerozumim tomu, jak je možné že to vrací správnou hodnotu. Myslím ten count na (getPictures())
function getPictures($id)
{
return
$this->conn->table(‚gallery_pictures‘)->where(‚id_gallery‘,
$id);
}
Očekával bych že count napočítá počet polí. Což určitě taky udělá, ale ten return po dumpu nevyhodí jenom pole se záznamy, ale i ostatní objekty.
doufám, že jsem to napsal srozumitelně, došel jsem z práce a jsem drobek na kaši.
Díky
- David Matějka
- Moderator | 6445
->where()
vraci objekt Selection, aby slo kod retezit. Ty tam
muzes pridat ->limit()
nebo ->order()
nebo treba
dalsi where. Selection nemuze vedet, ze uz chces vysledek. Muzes ale zavolat
->fetchAll()
, ktere ti prave vrati array s radky.
Editoval matej21 (3. 6. 2014 12:41)