• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Te same zapytania zwraca inne wyniki - Laravel

Object Storage Arubacloud
0 głosów
113 wizyt
pytanie zadane 19 lutego 2020 w PHP przez Greeenone Pasjonat (16,100 p.)

Hej

Mam pewien problem z moim kodem który służy do wyszukiwania telefonów w bazie danych ale od początku.

Na stronie po lewej znajduje się grupowanie telefonów markami (Wszystkie - Samsung - Apple, Huaweii, etc) a po prawej tabela która wyświetla wszystkie modele danej marki.

W pasku nad tabelą znajduje się pasek wyszukiwania który znajduje wszystkie rekordy który odpowiadają danemu tekstu.

Każdy model posiada id swojej marki (brand_id) oraz usera który dodał model (user_id)

Zapytanie idzie w formie url.com/phoneslist/{brand}/{text}

Jeśli użytkownik znajduje się w zakładce wszystkie, aktualna kategoria jest ustawiona jest na 0 i wtedy z tabeli są pobierane wszystkie rekordy z user_id. W momencie kiedy jest w danej marce, to wyszukuje po brand_id.

Tutaj wszystko działa bez problem. Problem pojawia się w momencie kiedy użytkownik znajduje się w zakładce wszystkie. Kiedy użytkownik opróżni pole "szukaj", w tabeli nie ma żadnych rekordów. Co dziwne, to kiedy użytkownik znajduje się w jakieś marce, po opróżnieniu pola pojawiają się wszystkie rekordy. NIe mogę znaleźć przyczyny czemu nie działa. Zapytanie do bazy jest dokładnie te same z tą różnicą, że w jednym jest where user_id a w drugiej brand_id

public function filt($brand, $text){

  $authUser = 1;

  if($brand == 0){

    $phones = Phones::where('user_id', $authUser)->where('name', 'like', '%'.$text.'%')->get();

    return response()->json([
      'phones'=>$phones,
    ]);

  }else{

  $phones = Phones::where('brand_id', $brand)->where('name', 'like', '%'.$text.'%')->get();

  return response()->json([
    'phones'=>$phones,
  ]);
}
}

 

1 odpowiedź

0 głosów
odpowiedź 19 lutego 2020 przez Ehlert Ekspert (212,670 p.)
Wywal tego else i odpal dwa zapytania jednocześnie. Przekaż do funkcji dump wyniki obu zapytań.

W profilerze powinieneś mieć z jakich query korzystałeś i z jakimi parametrami.

Podobne pytania

0 głosów
2 odpowiedzi 688 wizyt
pytanie zadane 9 grudnia 2018 w PHP przez jared Gaduła (3,600 p.)
0 głosów
2 odpowiedzi 257 wizyt
pytanie zadane 29 stycznia 2022 w C i C++ przez kuras Początkujący (390 p.)
0 głosów
1 odpowiedź 414 wizyt

92,536 zapytań

141,377 odpowiedzi

319,454 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...