Autor Zpráva
piiiiiiiip
Profil
Dobrý den.
Vytvořil jsem si tabulky:
CREATE TABLE `topics` (
  `topic_id` int(11) NOT NULL,
  `topic_forum_id` int(11) NOT NULL,
  `topic_title` varchar(255) COLLATE utf8_czech_ci DEFAULT NULL,
  `topic_content` varchar(255) COLLATE utf8_czech_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
a
CREATE TABLE `replies` (
  `reply_id` int(11) NOT NULL,
  `reply_topic_id` int(11) NOT NULL,
  `replied_by` varchar(255) COLLATE utf8_czech_ci DEFAULT NULL,
  `reply_content` varchar(255) COLLATE utf8_czech_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci ROW_FORMAT=COMPACT;

ALTER TABLE `replies`
  ADD PRIMARY KEY (`reply_id`),
  ADD KEY `reply_topic_id` (`reply_topic_id`);

ALTER TABLE `replies`
  ADD CONSTRAINT `replies_ibfk_1` FOREIGN KEY (`reply_topic_id`) REFERENCES `topics` (`topic_id`);
abych mohl vypsat odpovědi na topic.
Když najedu na topic s topic_id 1 tak vše funguje jak má, pokut ale najedu na topic_id jiné než 1 tak mi to vrátí false (Call to a member function related() on boolean).
Postupoval jsem podle doc.nette.org/en/2.4/quickstart
Můj kod tedy vypadá takto:
public function renderViewtopicList($url, $page = 1, $items = 0)
{
    $topic = $this->forumManager->getTopic($url);
    $this->template->topic = $topic;
    $this->template->replies =  $this->forumManager->getRepliesTest($url, $topic);
}
public function getTopic($url)
{
         return $this->database->table(self::TOPICS_TABLE_NAME)->where(self::COLUMN_TOPIC_FORUMS_ID, $url)->get($url);
    
}
public function getRepliesTest($url, $topic)
 {
            return $topic->related(self::REPLIES_TABLE_NAME);
        
}
Nevíte v čem dělám chybu?


piiiiiiiip:
Vyřešeno.
return $this->database->table(self::TOPICS_TABLE_NAME)->where(self::COLUMN_TOPIC_FORUMS_ID, $url)->get($url);
Upraveno na:
return $this->database->table(self::TOPICS_TABLE_NAME)->get($url);
Omlouvám se za spam, došlo mi to až když jsem tento topic vytvořil.
Kcko
Profil
Proč se ptáš pořád na Nette tady, když má Nette svoje vlastní fórum, gitter kanál a poměrně silnou komunitu?

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: