Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

4 Stron V  < 1 2 3 4 >  
Reply to this topicStart new topic
> [PHP]MySQL setters i getters
nospor
post 13.01.2023, 11:00:53
Post #41





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




Generalnie dobrze, ale nie tu

$sku = $product->sku;
$sku i inne jest juz prywane wiec masz uzyc getter

$sku = $product->getSku();


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

"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
sadistic_son
post 13.01.2023, 11:29:25
Post #42





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Tak tak, to dopisałem w poprzednim poście już jako edit, bo wkleiłem wcześniejszą wersję kodu wcześniej. No ok, to działam żeby teraz przerobić całość, a jest tego od groma.
Dzięki!

a czy w konstruktorze trzeba pisać : void skoro nic nie zwraca?



Ten post edytował sadistic_son 13.01.2023, 11:31:41


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 13.01.2023, 11:31:13
Post #43





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




Nie, konstruktor to przypadek szczegolny


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

"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
sadistic_son
post 13.01.2023, 11:34:10
Post #44





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


A co ma wskazywać typ zwracanych danych w przypadku funkcji która w zależności od warunku zwraca albo false albo np tabliczę czy string?
  1. public function test(int $myInt, string $myString)
  2. {
  3. if($this->myInt == 50){
  4. return false;
  5. }else{
  6. return $this->$myString.'siema';
  7. }


Ten post edytował sadistic_son 13.01.2023, 11:34:32


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
viking
post 13.01.2023, 11:34:34
Post #45





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Jeszcze to sobie poczytaj: https://designpatternsphp.readthedocs.io/en...ace/README.html (dla setterów)


--------------------
Go to the top of the page
+Quote Post
nospor
post 13.01.2023, 11:41:18
Post #46





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




Cytat
A co ma wskazywać typ zwracanych danych w przypadku funkcji która w zależności od warunku zwraca albo false albo np tabliczę czy string?

Jesli tak jest znaczy, ze logika funkcja jest napisana do 4 liter wink.gif

Zwracane moze byc albo DANY TYP albo NULL.
Funkcja nie powinna zwracac mieszanych typow bo to znaczy ze cos z nia jest nie tak.
Jesli zas chcesz sygnalizowac blad, to nie zwracasz false tylko rzucasz wyjatek


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

"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
Salvation
post 13.01.2023, 11:49:04
Post #47





Grupa: Zarejestrowani
Postów: 346
Pomógł: 70
Dołączył: 15.07.2014

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


Cytat(nospor @ 13.01.2023, 11:41:18 ) *
Zwracane moze byc albo DANY TYP albo NULL.

Jestem tego samego zdania, ale przetłumacz to tym co głosowali za wprowadzeniem Union Types xD
Go to the top of the page
+Quote Post
nospor
post 13.01.2023, 11:59:36
Post #48





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




Jeszcze ani razu nie uzylem UNION w moich projektach wiec da sie wink.gif

Ale sa przypadki gddzie trzeba uzyc, jak np. tu w tej metodzie bind dla $value ktore moze byc roznego typy. Ale to tylko powinny byc bardzo nieliczne wyjatki a juz w ogole nie wyobrazam sobie funkcji, ktora zwraca UNION/mixed... grrrrrrr

Zapewne w piekle jest oddzielny kociol tylko dla ludzi uzywajacych za czesto UNION/mixed wink.gif


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

"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
sadistic_son
post 13.01.2023, 12:09:50
Post #49





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Dobra, rozumiem.

ale w takim razie czemu np TUTAJ jest public PDO::lastInsertId(?string $name = null): string|false ?
Jak rozumiem ma tutaj zastosowanie powiedzenie "co wolno wojewodzie to nie tobie smrodzie" biggrin.gif

I jak wtedy będzie wyglądać deklaracja tej metody?
  1. public function lastInsertId()
  2. {
  3. return $this->dbh->lastInsertId();
  4. }


Ten post edytował sadistic_son 13.01.2023, 12:11:27


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 13.01.2023, 12:32:29
Post #50





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




Metody PHP istnieja od wiekow, kiedy byla jeszcze ciemnosc i zwracali co zwracali. Teraz by zachowac kompatybulnosc wsteczna nie moga ot tak sobie wszystko pozmieniac bo miliony stron przestanie dzialac. Temu w starych metodach php masz jeszcze smietnik i sie tym nie kieruj

Zas u ciebie to albo tak:

public function lastInsertId(): int
{
return (int) $this->dbh->lastInsertId();
}


Albo tak

public function lastInsertId() ?int
{
$id = $this->dbh->lastInsertId();
return $id ? $id : null;
}

Ja zawsze osobiscie stosuje te pierwsza metode.


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

"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
sadistic_son
post 13.01.2023, 12:36:25
Post #51





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Czyli bezczelnie przerabiamy string z PDO na int. Czaję. Dzięki.


Ten post edytował sadistic_son 13.01.2023, 12:58:35


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 13.01.2023, 12:47:48
Post #52





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




lastInsertId z PDO to metoda uniwersalna. Rozne silniki jako ID maja albo teksty, albo inty itp
Ty uzywasz mysql i jako ID masz inty, wiec mozna spokojnie to co zwraca lastInsertId rzutowac na INT


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

"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
sadistic_son
post 13.01.2023, 12:58:57
Post #53





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Rozumiem. Dzięki.



A wracając do setter/getter....
Oto kawałek klasy ProductList
  1. class ProductList
  2. {
  3. private DB $db;
  4.  
  5. public function __construct(DB $db){
  6. $this->db = $db;
  7. }
  8. public function listProducts()
  9. {
  10. $products = $this->getProducts();
  11. return $products;
  12. }
  13.  
  14. private function getProducts(): array
  15. {
  16. $this->db->query("SELECT zapytanie dluuugie");
  17. $results = $this->db->resultSet();
  18. return $results;
  19. }
  20.  
  21. public function listGroupedProducts(): array
  22. {
  23. $products = array();
  24. foreach ($this->listProducts() as $row) {
  25. //sortowanie w tablicy, w tym temacie niewazne
  26. }
  27. return $products;
  28. }


Metody getProducts oraz listProducts wziąłem właściwie z książki, modyfikując jedynie zapytanie SELECT. Czemu tutaj jest to tak zrobione? Po co w ogóle jest listProducts ? Nie lepiej zostawić tylko getProducts i mieć już stworzony przy okazji getter dla wylistowanych produktów? Nastepnie zmieniając nazwę z listGroupedProducts na getGroupedProducts otrzymuję getter dla pogrupowanych produktów, czy tak?

Czy getter/setter to właściwie tylko nazewnictwo i mozna przyjąć że jak coś zwraca np pogrupowane rekordy z bazy to będzie to getter?

Czy może istnieć getter bez settera i odwrotnie? Tzn istnieć może i kod będzie działał, ale czy tak się robi?

Męcze te gettery i settery pamiętając o wymaganiu projektu:
"Logika MySQL powinna być obsługiwana przez obiekty z właściwościami, zamiast bezpośrednich wartości kolumn. Proszę użyć setters i getters aby to osiągnąć oraz nie zapomnieć użyć ich do zapisu i wyświetlania logiki."

Ten post edytował sadistic_son 13.01.2023, 12:59:49


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 13.01.2023, 13:35:46
Post #54





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




listProducts wydaje sie zbedne, tak.

Zas z ta logika co pisali to chyba im chodzi, ze zamiast zwracac tablice z rekordami w postaci tablicy, masz zwraca tablice obiektow, wtym wypadku obiektow Product


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

"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 13.01.2023, 13:52:53
Post #55





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


W sumie zwracał CI już na to uwagę ale po co wprowadzasz zmienne które nie mają żadnego celu?
  1. $products = $this->getProducts();
  2. return $products;
  3.  
  4. // powinno być
  5. return $this->getProducts();


--------------------
Go to the top of the page
+Quote Post
sadistic_son
post 13.01.2023, 14:06:16
Post #56





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cytat(viking @ 13.01.2023, 13:52:53 ) *
W sumie zwracał CI już na to uwagę ale po co wprowadzasz zmienne które nie mają żadnego celu?
  1. $products = $this->getProducts();
  2. return $products;
  3.  
  4. // powinno być
  5. return $this->getProducts();
Ok, rzeczywiście. Wiesz... tak jak powyżej ponoć robią początkujący programiści, bo tak jest niby czytelniej. Moje przyzwyczajenie. Ale wiem że nie powinno się tak robić, bo tym sposobem alokuję podwójnie pamięć, zupełnie zbędnie.



Cytat(nospor @ 13.01.2023, 13:35:46 ) *
Zas z ta logika co pisali to chyba im chodzi, ze zamiast zwracac tablice z rekordami w postaci tablicy, masz zwraca tablice obiektow, wtym wypadku obiektow Product
Czekaj bo lekko się teraz pogubiłem. Masz na myśli w tym wypadku tak jak już mam via getProducts(); czy masz na myśli że w klasie ProductList mam jakoś wrzucać to co zwraca mi np getProducts do Product poprzez settery klasy Product?

Ten post edytował sadistic_son 13.01.2023, 14:08:51


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 13.01.2023, 14:27:13
Post #57





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




No pewnie listGroupedProducts powinna juz zwracac tablice oboektow (producktow)
Ale twoje produkty maja jeszcze wlasciwosci wiec pewnie musisz rozszerzyc klase Product o te wlasciwosci/properties


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

"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
sadistic_son
post 13.01.2023, 15:10:55
Post #58





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


No dobra, to rozszerzyłem klasę Product o $properties:
  1. class Product
  2. {
  3. private int $productId;
  4. /*
  5. inne zmienned
  6. */
  7. private array $properties;
  8.  
  9. /*
  10. inne settery i gettery
  11. */
  12.  
  13. public function setProperties(array $properties): void
  14. {
  15. $this->properties = $properties;
  16. }
  17.  
  18. public function getProperties(): array
  19. {
  20. return $this->properties;
  21. }
  22.  
  23. }

Następnie zmodyfikowałem listGroupedProducts tak aby zwracała tablicę obiektów:
  1. public function listGroupedProducts(): array
  2. {
  3. $products = array();
  4. $productObject = new Product();
  5. foreach ($this->getProducts() as $row) {
  6. // foreach ($this->listProducts() as $row) {
  7.  
  8. $pid = $row['sku'];
  9. if (!isset($products[$pid])) {
  10. // $products[$pid] = array('name' => $row['name'], 'price' => $row['price'], 'id' => $row['prodId'], 'properties' => array());
  11. $products[$pid] = array('name' => $productObject->setproductName($row['name']), 'price' => $productObject->setproductPrice($row['price']), 'id' => $productObject->setproductId($row['prodId']), 'properties' => array());
  12. }
  13. if (!empty($row['value'])) {
  14. $products[$pid]['properties'][] = $productObject->setProperties(['value' => $row['value'], 'label' => $row['label']]);
  15. }
  16. }
  17. return $products;
  18. }
Lecz edytor podpowiada mi tutaj w przedostatniej linijce (nie licząc domknięć nawiasów), że "assigning void from a function setProperties". No jest void bo każdy setter ma ustawione void, więc czemu tylko p[rzy tym jednym się czepia?
W ogóle dobrze tutaj rozumuję? To miałeś na mysli mówiąc że ta metoda powinna zwracać tablicę obiektów?

Ten post edytował sadistic_son 13.01.2023, 15:13:39


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
nospor
post 13.01.2023, 15:21:00
Post #59





Grupa: Moderatorzy
Postów: 36 459
Pomógł: 6297
Dołączył: 27.12.2004




array('name' => $productObject->setproductName($row['name']), 'price' => $productObject->setproductPrice($row['price']),
No ale co to jest?
Raz ze tak jak mowi edytor, przypisujesz dla 'name' wartosc funkcji setProductName ktora nic nie zwraca. No gdzie sens i logika?
A po drugie czemu znowu tworzysz tablice tablic? Masz tworzyc tablice obiektow

  1. public function listGroupedProducts(): array
  2. {
  3. $products = array();
  4.  
  5. foreach ($this->getProducts() as $row) {
  6. $product = new Product();
  7. $product->setName($row['name']);
  8. //... reszta pol
  9.  
  10. $products[] = $product;  
  11. }
  12. return $products;
  13. }


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

"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
sadistic_son
post 13.01.2023, 15:34:58
Post #60





Grupa: Zarejestrowani
Postów: 1 482
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


No ok, ale w takim razie co ma być w ttych warunkach, bo już zgłupiałem:
  1. public function listGroupedProducts(): array
  2. {
  3. $products = array();
  4. foreach ($this->getProducts() as $row) {
  5. $product = new Product();
  6. $product->setProductName($row['name']);
  7. $product->setSku($row['sku']);
  8. $product->setPrice($row['price']);
  9. $product->setProductId($row['sku']);
  10. $product->setProductId($row['prodId']);
  11.  
  12.  
  13. // $pid = $row['sku'];
  14. if (!isset($products[$row['sku']])) {
  15. // $products[$pid] = array('name' => $row['name'], 'price' => $row['price'], 'id' => $row['prodId'], 'properties' => array());
  16.  
  17. }
  18. if (!empty($row['value'])) {
  19. // $products[$row['sku']]['properties'][] = $product->setProperties(['value' => $row['value'], 'label' => $row['label']]);
  20. }
  21. $products[] = $product;
  22. }
  23. return $products;
  24. }


EDIT:
nie no zaraz, nowy obiekt mam tworzyć wewnątrz pierwszego warunku, aco w takim razie w drugim?
  1. public function listGroupedProducts(): array
  2. {
  3. $products = array();
  4. foreach ($this->getProducts() as $row) {
  5.  
  6.  
  7. if (!isset($products[$row['sku']])) {
  8. $product = new Product();
  9. $product->setProductName($row['name']);
  10. $product->setSku($row['sku']);
  11. $product->setPrice($row['price']);
  12. $product->setProductId($row['sku']);
  13. $product->setProductId($row['prodId']);
  14. // $products[$pid] = array('name' => $row['name'], 'price' => $row['price'], 'id' => $row['prodId'], 'properties' => array());
  15.  
  16. }
  17. if (!empty($row['value'])) {
  18. $product->setProperties(['value' => $row['value'], 'label' => $row['label']]);
  19. // $products[$row['sku']]['properties'][] = $product->setProperties(['value' => $row['value'], 'label' => $row['label']]);
  20. }
  21. $products[] = $product;
  22. }
  23. return $products;
  24. }
Tak?
Nie no to też bez sensu bo przecież pierwszy warunek nigdy nie będzie spełniony. Tzn zawsze będzie empty.
Na końcu musi być tak:
$products[$row['sku']] = $product;


EDIT2:
Na takim czymś stanąłem:
  1. public function listGroupedProducts(): array
  2. {
  3. $products = array();
  4. foreach ($this->getProducts() as $row) {
  5.  
  6.  
  7. if (!isset($products[$row['sku']])) {
  8. $product = new Product();
  9. $product->setProductName($row['name']);
  10. $product->setSku($row['sku']);
  11. $product->setPrice($row['price']);
  12. $product->setProductId($row['prodId']);
  13. // $products[$pid] = array('name' => $row['name'], 'price' => $row['price'], 'id' => $row['prodId'], 'properties' => array());
  14. $properties = array();
  15.  
  16. }
  17. if (!empty($row['value'])) {
  18. $properties[] = ['value' => $row['value'], 'label' => $row['label']];
  19. $product->setProperties($properties);
  20. // $products[$row['sku']]['properties'][] = $product->setProperties(['value' => $row['value'], 'label' => $row['label']]);
  21. }
  22. $products[$row['sku']] = $product;
  23. }
  24. return $products;
  25. }
I chyba to jest to co ma być bo tablica przypomina ta co była wcześniej, zanim tworzyliśmy tablicę obiektów:
Kod
Array
(
    [MBL-0005] => Product Object
        (
            [productId:Product:private] => 399
            [productName:Product:private] => Mebel 5
            [sku:Product:private] => MBL-0005
            [price:Product:private] => 105
            [properties:Product:private] => Array
                (
                    [0] => Array
                        (
                            [value] => 95
                            [label] => Width (cm)
                        )

                    [1] => Array
                        (
                            [value] => 125
                            [label] => Length (cm)
                        )

                    [2] => Array
                        (
                            [value] => 65
                            [label] => Height (cm)
                        )

                )

        )

    [FLM-0004] => Product Object
        (
            [productId:Product:private] => 398
            [productName:Product:private] => Film 4
            [sku:Product:private] => FLM-0004
            [price:Product:private] => 14
            [properties:Product:private] => Array
                (
                    [0] => Array
                        (
                            [value] => 654
                            [label] => Size (MB)
                        )

                )

        )

    [KSK-0004] => Product Object
        (
            [productId:Product:private] => 397
            [productName:Product:private] => Ksiazka 4
            [sku:Product:private] => KSK-0004
            [price:Product:private] => 14
            [properties:Product:private] => Array
                (
                    [0] => Array
                        (
                            [value] => 0.4
                            [label] => Weight (kg)
                        )

                )

        )


Ten post edytował sadistic_son 13.01.2023, 15:59:45


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post

4 Stron V  < 1 2 3 4 >
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: 30.04.2024 - 15:43