Autor Zpráva
Ikki
Profil
Ahoj lidi, po delší době jsem narazil na něco, co mi nedá spát.

Mám napsaný Query Builder takto -

{{ \Models\Server::select(DB::raw('sum(cena/30)'))->where('uzivatel', Auth::user()->id)->get() }}

a ač mi výsledek funguje v pořádku, tak se vypisuje následovně, což je nežádoucí
 [{"sum(cena\/30)":"1.091667"}]

A nemůžu přijít na žádný důvod proč tomu tak je. Díky za rady.
Kajman
Profil
Nežádoucí je použití stringu místo čísla nebo nepěkný název sloupce?
Ikki
Profil
Nežádoucí je výsledný string.

Z výsledků [{"sum(cena\/30)":"1.091667"}] potřebuju vypsat pouze konečnou hodnotu "1.091667"
Kajman
Profil
Zkuste místo metody get použít pluck, value nebo dát sloupci pěkný alias a použít metodu first a za ní metodu s názvem odpovídající sloupci.
Laravel: getting a a single value from a MySQL query
Ikki
Profil
Díky moc! Konečný kód tedy vypadá takto: float(Models\Server::select(DB::raw("sum(price / 30) as cena"))->where('owner_id', Auth::user()->id)->pluck('cena')->first(), 2)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0