[PHP][Laravel] Dane z mysql jako tablica (nie objekt) |
[PHP][Laravel] Dane z mysql jako tablica (nie objekt) |
9.01.2020, 15:20:04
Post
#1
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) |
Jak zmusic Laravel zeby wszystkie wyniki zapytan sql zwracal jako array ? Ponizsze zapytanie zwraca mi objekt
Kod DB::table('moja_tablea')
->where('block_id', $data['block']->id) >get(); Ten post edytował Octobus 9.01.2020, 15:20:35 |
|
|
9.01.2020, 15:31:29
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
google nie zamkneli...
https://stackoverflow.com/questions/2617426...object-to-array -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
9.01.2020, 15:40:31
Post
#3
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) |
szukalem wielokrotnie i nie jest to (dla mnie) takie latwe, dodalem w __constructor():
w logach wyskakuje mi blad: Kod Call to undefined method Illuminate\Database\MySqlConnection::setFetchMode() {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Call to undefined method Illuminate\\Database\\MySqlConnection::setFetchMode() at [...]/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:349)
|
|
|
9.01.2020, 15:42:40
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
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, -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
9.01.2020, 15:44:37
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
-------------------- |
|
|
9.01.2020, 15:47:42
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
@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
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
9.01.2020, 15:59:25
Post
#7
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) |
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:
Kod Laravel no longer includes the ability to customize the PDO "fetch mode" from your configuration files. Instead, PDO::FETCH_OBJ is always used. If you would still like to customize the fetch mode for your application you may listen for the new Illuminate\Database\Events\StatementPrepared event:
a z racji tego ze dopiero zaczynam z Laravel nie jestem pewien gdzie to umiescic ... uzywam laravel 5.8 |
|
|
9.01.2020, 16:02:27
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
9.01.2020, 17:22:22
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
A możesz powiedzieć w czym Ci przeszkadza obudowanie w obiekty?
|
|
|
10.01.2020, 11:33:42
Post
#10
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) |
@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. |
|
|
10.01.2020, 11:38:52
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
Cytat przed linijka parent::boot() Nie znam sie na laravel, ale w linku co ci dalem oni wkladaja PO a nie PRZED Cytat tak samo jak wszystkie inne rozwiazania Raz ze nie wiemy jakie rozwiazania zrobiles, a dwa ze na 100% nie zrobiles wszystkich, bo jest takie, ktore na pewno dziala
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
10.01.2020, 21:19:33
Post
#12
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
@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 :/ To masz chyba coś skopane bo jak używasz eloquesnt to zwracane są obiekty Encji w kolekcji i oba można traktować jak array pomimo że są obiektami (collection jest Arrayable a Entity mają magic method pozwalające na dost. jako array) |
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 03:49 |