Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Prosta tablica array + wyświetlenie danych
Sklep102
post 23.03.2022, 18:26:27
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


Cześć,
Chce wykonać prostą tablice która będzie zawierać id gdy próbuje wyciągnąć dane w laravelu to pojawia się błąd.
  1. $id_sklepu =
  2. 'id' => $id,
  3.  
  4. );


  1. @foreach($id_sklepu as $id_sklepu ){
  2. {{$id_sklepu ->id}}
  3. }


Attempt to read property "id" on int

Jak wyświetlam tablicę to wyświetla się w ten sposób

Array ( [id] => 306 )

Może ktoś wyjaśnić co robię źle?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post 23.03.2022, 19:17:31
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Wywal ten foreach. Foreach sie uzywa jak masz liste elementow a ty tutaj nic takeigo nie masz.

No i pozatym tam masz tablice a nie obiekty wiec raczej

{{$id_sklepu['id']}}


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sklep102
post 23.03.2022, 23:11:31
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


Jak wyciągnąć dane w takim razie z pętli?
Próbowałem przez collection ale robi do każdej oddzielne obiekt...
  1. foreach($data as $data)
  2. if ($all_shop != $unique_shop){
  3.  
  4.  
  5. $shop_data[]= collect([
  6. [
  7. 'id' => $id,
  8. 'name' => $name,
  9. ]]);
  10.  
  11.  
  12.  
  13.  
  14. }
  15. }

A chciałbym wyciągnąc dane z pętli i następnie wyświetlić je w blade $shop_data->id, $shop_data->name itp.



Ten post edytował Sklep102 24.03.2022, 00:30:11
Go to the top of the page
+Quote Post
nospor
post 24.03.2022, 08:03:36
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Sam sobie generujesz problemy... Juz nie wspominajac o tym, ze dokumentacji blade masz wszystko wyjasnione na przykladach :/

1) Nie rob w foreach nazwy po as takiej samej jak dana zrodlowa. No co to ma byc?

Nie: foreach($data as $data)
a: foreach($data as $row)


2) Po grzyba ci jakas kolekcja? Tablica to tablica, kurcze...

przykladowa tablica:
$data = [
['id' => 1, 'name' => 'blabla1'],
['id' => 2, 'name' => 'blabla2'],
]

a potem w blade, dokladnie za dokumentacja:


@foreach ($data as $row)
<p>This is user {{ $row['id'] }} {{ $row['name'] }}</p>
@endforeach


Proste rzeczy a ty jakies cuda na kiju urzadzasz. Czytaj dokumentacje


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post 24.03.2022, 09:45:34
Post #5





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A jak bardzo chcesz składni obiektowej bądź tablicowej to Laravel ma sprytną klasę od tego:

  1. $arr = new \Illuminate\Support\Fluent([
  2. 'a' => 1,
  3. ]);
  4.  
  5. dd($arr->a, $arr['a']);


--------------------
Go to the top of the page
+Quote Post
nospor
post 24.03.2022, 10:14:42
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przerazaja mnie takie potworki, ktore robia wszystko za developera. A potem przychodzi taki na test rekrutacyjny i sie okazuje ze nie ogarnia podstaw i wczystym php nie jest w stanie napisac prostej klasy :/


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post 24.03.2022, 17:54:46
Post #7





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Akurat kolekcje w lv są bardzo przyjemne i sporo ułatwiają. Ta klasa Fluent też wewnętrznie jest często używana i gdybyś np robił test tylko z fw to kandydat z wiedzą o niej pewnie sporo by zyskał. Też ostatnio przyjąłem kandydata który mówił że ma 3 lata doświadczenia w lv, a potem okazało się że np kompletnie nie wie co to wyjątki, nagłówki, nie potrafi używać PDO.


--------------------
Go to the top of the page
+Quote Post
nospor
post 24.03.2022, 18:06:16
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nadal nie widze potrzeby w tym przypadku uzywania fluent, tym bardziej ze dana osoba nie ogarnia prosty petli. Wpierw podstawy, potem mozna brac sie za jakies cuda na kiju wink.gif

Cytat
Też ostatnio przyjąłem kandydata który mówił że ma 3 lata doświadczenia w lv, a potem okazało się że np kompletnie nie wie co to wyjątki, nagłówki, nie potrafi używać PDO.

Moj ostatni kandydat jak zobaczyl test to powiedzial ze robic nie bedzie. Ot prosty kod do pobrania danych z bazy i wyswietlenie tabelki. Kandydat to super hiper master Symfony developer.
Potem zaczal slac nam maile ze jak smiemy go testowac na takim levelu. To powiedzialem, ze jak bardzo chcial uzyc symfony to mial composer i mogl se zainstalowac symfony. Potem przyszla masa jeszcze gorszych maili od niego, zakonczona perelka, ze on nie pisal sie na wyswietlanie danych w tabelce html bo on przeciez jest backend developer. szkoda gadac. poprzewracalo sie ostatnio co poniektorym


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sklep102
post 24.03.2022, 23:50:20
Post #9





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.12.2019

Ostrzeżenie: (0%)
-----


Panowie z całym szacunkiem do waszej wiedzy i doświadczenia, rozumiem że zajmujecie się programowaniem na co dzień i to wasza praca. Jeśli zrobicie code review tego co piszę to wyjdzie cała masa błędów. facepalmxd.gif facepalmxd.gif
Postanowiłem jednak że zrobię projekt który potrzebuje na własny użytek dlatego czasami rozwiązuje problem okrężną drogą mimo tego że pewnie jest proste rozwiązanie ale brakuje mi wiedzy i doświadczenia.
Nie znam pipeline dlatego przy tworzeniu filtrów utworzyłem konkretne zapytanie mimo że powtórzyłem czasami x30 kodu którego pewnie nie trzeba. Projekt zaczęty w 2020r. Został przepisany, poprawiony, dodałem nowe funkcje na razie traktuje to jako hobby w czasie wolnym. Nie planuje na razie szukać pracy na juniora bo wiem że moja wiedza jest zbyt mała. Wygodniej mi skorzystać z bootstrapa + laravela ponieważ niektóre funkcje są już gotowe wystarczy ich użyć np. paginacja. Z punktu widzenia full stack to kicha rozumiem.

Pozwoliłem zadać konkretne pytanie ponieważ nie wiem za bardzo jak się za to zabrać a siedzę już kolejny dzień z rzędu nad tym problemem.

Cytat(nospor @ 24.03.2022, 08:03:36 ) *
Sam sobie generujesz problemy... Juz nie wspominajac o tym, ze dokumentacji blade masz wszystko wyjasnione na przykladach :/

2) Po grzyba ci jakas kolekcja? Tablica to tablica, kurcze...

przykladowa tablica:
$data = [
['id' => 1, 'name' => 'blabla1'],
['id' => 2, 'name' => 'blabla2'],
]

a potem w blade, dokladnie za dokumentacja:


@foreach ($data as $row)
<p>This is user {{ $row['id'] }} {{ $row['name'] }}</p>
@endforeach


Zrobiłem tak jak mówisz

  1. $films_tags = [
  2. ['id' => $id, 'name' => $name],
  3.  
  4. ];

Gdyby ktoś chciał skorzystać w przyszłości:
Przed pętlą zdefiniować

$data = array();
$i = 0;

w pętli definiujemy dane i dodajemy $i++ aby cała pętla była zapisana w tablicy.
  1. $data [$i]['id'] = $id;
  2. $data [$i]['name'] = $name;
  3. $i++;


Ten post edytował Sklep102 25.03.2022, 01:01:06
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:01