Vlastní query equivalent pro (table('')->get($))

JonatanRek
Člen | 20
+
0
-

Dobrý den,
snažím se sou aplikaci (ze studijních důvodu přepsat na select pře query) ostatní příkazy šli snadno, ale jeden se mi nedaří přepsat myslel jsem že tyto 2 řádky jsou si equivalentní ale jak se zdá tak ne mohl by mi někdo říci kde dělám chybu ? :)

https://i.imgur.com/GSqU3vz.png

Ale poté co to takto upravím tracy mi začne vyhazovat chybu že v proměnné co vracím do šablony není požadovaný parametr.I když u ostatních query jsem v šabloně nic upravovat nemusel Popravdě nevím kde dělám chybu :(

Předem moc děkuji za odpověď

nightfish
Člen | 472
+
+1
-

Aby to bylo podobné, musíš za query() dát ještě fetch(), jinak dostaneš jen ResultSet, nikoliv Row.

$invoiceL = $this->invoicesDB->query('SELECT * FROM faktury a WHERE a.id = ?', $postId)->fetch();

Ale i tak tam je rozdíl – volání přes table()->get() ti vrátí ActiveRow, který proti Row umí navíc např. update() nebo delete().

CZechBoY
Člen | 3608
+
0
-

První řádek vrací IRow (jeden řádek), druhý řádek vrací ResultSet (více řádků).

Pošli jak s tím dál pracuješ a taky chybu z Tracy.

Taky si mohl ty 2 řádky zkopírovat sem na forum…

JonatanRek
Člen | 20
+
0
-

nightfish napsal(a):

Aby to bylo podobné, musíš za query() dát ještě fetch(), jinak dostaneš jen ResultSet, nikoliv Row.

$invoiceL = $this->invoicesDB->query('SELECT * FROM faktury a WHERE a.id = ?', $postId)->fetch();

Ale i tak tam je rozdíl – volání přes table()->get() ti vrátí ActiveRow, který proti Row umí navíc např. update() nebo delete().

Díky za pomoc a vysvětlení ani nevíš jak si mi to skvěle vysvětlil. díky