ověření obsahu $this->conn->table(‚gallery_pictures‘)->where(‚id_gallery‘, $id)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
qteck
Člen | 164
+
0
-

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
+
0
-

misto empty pouzij count. Jelikoz z getPictures asi vracis Selection, tak to to „empty“ nebude nikdy

qteck
Člen | 164
+
0
-

co to přesně znamená, že vracím selection?

David Matějka
Moderator | 6445
+
0
-

https://doc.nette.org/…ase/explorer

nebo co mas v getPictures?

Editoval matej21 (2. 6. 2014 19:56)

qteck
Člen | 164
+
0
-

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
+
0
-

->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)