Lze nejak upravit data z vypisu z db
- dehtak
- Člen | 113
Narazim na jeden problem v nete kdyz si vypisu data z databaze
a pak chci jedno pole zmenit nebo upravit , tak mi nette vyhodi chybu.
k pochopeni napisu priklad:
$row = $this->db->table('tabulka')->get(1);
$row->data = Json::decode($this->row->data, Json::FORCE_ARRAY);
No a tady mi nette vyhodi chybu
**
ActiveRow is read-only; use update() method instead.
**
Prece kdyz si vypisu data tak si je muzu ruzne pak upravovat. Proc mi to
nedovoli. Ja vim mel bych udelat novou promennou.
ale ten celkovej $row chci predavat dal uz s upravou a nechci predavat
50 promennych.
Neexistuje na to neco v nette ?
Nette databaze uz vlastne neco takoveho dela kdyz mate treba sloupec date (DateTime) tak to sama databaze prekonvertuje a vystup je trida DATETIME nikoliv string. A tez je to $row->date.
Neco podobnyho chci pouzit pro svoje sloupce. Ne datetime ale treba nejakou tridu nebo prevest string json na rray apodobne.
Editoval dehtak (7. 11. 2021 13:05)
- Šaman
- Člen | 2663
Protože $connection->query()->fetch();
nevrací
ActiveRow
(s vazbou na databázi), ale jen Row
(vylepšený ArrayHash
).
Cokoliv začíná $connection->table()->…
je
záležitost Database Exploreru, což je jiná sekce dokumentace, než
základní práce s databází
$connection->query()->…
– Database Core.
https://doc.nette.org/cs/database