Return row pomocou $this->table->insert?

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

Cus. Rad by som sa opytal ci je nejaka moznost ako si vratim cely row z modelu ktory zapisujem takto:

<?php
    public function addInvitation($userId, $email) {
        return $this->connection
            ->table('invitations')
            ->insert(array(
                'email' => $email,
                'inviter_id' => $userId,
                'security_code' => \Nette\Utils\Strings::random()
            ));
	}
?>

pretoze teraz mi to vrati iba id.

Pavel Kravčík
Člen | 1196
+
-2
-

Nahraď return za $id = a pak si dole zavolej return $this->connection->table()->where(‚id‘,$id)->fetch().

Editoval kzk_cz (14. 11. 2014 15:36)

MarekR
Člen | 17
+
0
-

Dik za rychlu reakciu ale toto spravi dalsi select a tomu prave som sa chcel vyhnut :) nieje tam ina moznost?

petr.jirous
Člen | 128
+
0
-

insert metoda by měla vracet celý row, jakou verzi nette database používáš?

MarekR
Člen | 17
+
0
-

ver.: 2.2. Ale mozno nieco robim zle… v presenteri som to skusal takto: echo $this->teamModel->addInvitation($this->user->id, $email); a echlo iba id zaznamu.

matopeto
Člen | 395
+
0
-

a ked to dumpnes? :) nemas tam cely zaznam?, je mozne ze activeRow ma pretazeny tostring na to iba aby vracal ID. (nepozeral som do kodu tak len hadam)

pripadne

<?php
$invitation = $this->addInvitation();

echo $invitation->email;

?>

Editoval matopeto (14. 11. 2014 16:42)

vvoody
Člen | 910
+
0
-

Insert môže vrátiť aj integer – počet upravených riadkov, takže možno zhoda okolností že si insertoval jeden riadok do prázdnej tabuľky. Máš v tabuľke nastavený PK?