Jak zmusic Laravel zeby wszystkie wyniki zapytan sql zwracal jako array ? Ponizsze zapytanie zwraca mi objekt
google nie zamkneli...
https://stackoverflow.com/questions/26174267/convert-laravel-object-to-array
szukalem wielokrotnie i nie jest to (dla mnie) takie latwe, dodalem w __constructor():
DB::setFetchMode(\PDO::FETCH_ASSOC);
Pierwszy wyniki w google dla: laravel convert object to array
Co do bledu:
a nie mozesz tego odpalic bezposrednio przed zapytaniem?
Ewentualnie zmienic globalnie, jak rowniez napisno w linku, co ci podalem
// application/config/database.php
'fetch' => PDO::FETCH_CLASS,
// to
'fetch' => PDO::FETCH_ASSOC,
https://laravel.com/docs/6.x/eloquent-serialization#serializing-to-arrays
@viking nie lepiej jednak ustawic by od razu zwracalo tablice? Uzywajac toArray() mamy mase zbednych operacji po drodze. Owszem, toArray moze byc przydatne gdy zawsze pracujemy na obietkach i w jakims jednym momencie chcemy miec tablice, ale Octobus raczej na chwile obecna zawsze bedzie pracowal na tablicach
Zawsze na tablicach i nie chce za kazdym razem zmieniac formatu z objektu na tablice ... Problem w tym ze wyczytalem ze laravel zablokowal taka funkcje (https://laravel.com/docs/5.4/upgrade), teraz trzeba inaczej:
Event::listen(StatementPrepared::class, function ($event) { $event->statement->setFetchMode(...); });
Mysle, ze to
https://laravel.com/docs/5.8/events
dosc jasno wyjasnia jak sie dodaje eventy
A możesz powiedzieć w czym Ci przeszkadza obudowanie w obiekty?
@Pyton_000 bo zawsze uzywam tablic w swoim kodzie i teraz jak baza zwraca mi objekt non stop sie myle bo nie wiem czy zmienna w tablicy wielowymiarowej jest typu array czy object ... i ciagle mam bledy typu "Cannot use object of type stdClass as array" przez co pisanie aplikacji bardzo sie wydluza :/
Probowalem to zrobic, dodalem kod z mojego poprzedniego postu w app/Providers/EventServiceProvider.php w funckje boot(), przed linijka parent::boot(); ale to nic nie dalo, tak samo jak wszystkie inne rozwiazania ... nie udalo mi sie tego zrobic. Cos widocznie robie zle ale nie wiem co.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)