To samo zapytanie w laravelu zwraca ine wyniki niż w mysql

0

Mam taki problel, pisze aplikację w laravelu i teraz jak mam zapytanie takie

select porcja ,spozycie.data as data_,produkty.nazwa as nazwa,substancje.nazwa as nazwa_sub,id_produktu,spozycie.id as id,spozycie.cena as cena from spozycie join produkty on spozycie.id_produktu = produkty.id join substancje on produkty.id_substancji = substancje.id join przekierowanie_opis on przekierowanie_opis.id_spozycia = spozycie.id where id_produktu in (191) and spozycie.id_users = '38' order by data_ DESC limit 30,20 

To takie samo zapytanie w laravelu zwraca trochę inne wyniki w mysql i w laravelu w mysql zwraca poprawne, a w laravelu dubluje wpisy gdzie w polu(mysql) będzie opisów więcej niż jeden czyli tyle razy zdubluje wpis ile będzie miał opisów dany lek
Czyli w tej tabeli pezekierowanie_opis może być n wartości id_spozycia i teraz jak to zrobić, żeby to wyświatało tylko raz ten wpis.

0

Jak odpalasz to zapytanie w Laraverze?

0

Użyj laravel debugbar'a, i sprawdź sobie jakie zapytanie produkuje laravel.

0

użyj tego https://github.com/mnabialek/laravel-sql-logger
ewentualnie tego jeśli generujesz normalny html https://github.com/barryvdh/laravel-debugbar

0

I teraz po zdebukowaniu tak się prezentuje zapytanie.

select  porcja ,spozycie.data as data_,produkty.nazwa as nazwa,substancje.nazwa as nazwa_sub,id_produktu,spozycie.id as id,spozycie.cena as cena from spozycie join produkty on spozycie.id_produktu = produkty.id  join substancje on produkty.id_substancji = substancje.id    join przekierowanie_opis on przekierowanie_opis.id_spozycia = spozycie.id where  id_produktu in (191)  and spozycie.id_users = '38'     order by data_ DESC limit  0,10;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 6 - 2018-09-13 13:39:35 [0.46ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 7 - 2018-09-13 13:39:35 [0.4ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 8 - 2018-09-13 13:39:35 [0.34ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '37350';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 9 - 2018-09-13 13:39:35 [0.21ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 10 - 2018-09-13 13:39:35 [0.21ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 11 - 2018-09-13 13:39:35 [0.2ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '37350';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 12 - 2018-09-13 13:39:35 [0.2ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 13 - 2018-09-13 13:39:35 [0.29ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 14 - 2018-09-13 13:39:35 [0.3ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '36548';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 15 - 2018-09-13 13:39:35 [0.2ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 16 - 2018-09-13 13:39:35 [0.17ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 17 - 2018-09-13 13:39:35 [0.16ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '36504';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 18 - 2018-09-13 13:39:35 [0.17ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 19 - 2018-09-13 13:39:35 [0.16ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 20 - 2018-09-13 13:39:35 [0.17ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '36385';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 21 - 2018-09-13 13:39:35 [0.24ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 22 - 2018-09-13 13:39:35 [0.23ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 23 - 2018-09-13 13:39:35 [0.23ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '36280';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 24 - 2018-09-13 13:39:35 [0.27ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 25 - 2018-09-13 13:39:35 [0.23ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 26 - 2018-09-13 13:39:35 [0.2ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '36263';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 27 - 2018-09-13 13:39:35 [0.16ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 28 - 2018-09-13 13:39:35 [0.16ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 29 - 2018-09-13 13:39:35 [0.15ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '36000';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 30 - 2018-09-13 13:39:35 [0.14ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 31 - 2018-09-13 13:39:35 [0.14ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 32 - 2018-09-13 13:39:35 [0.15ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '35981';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 33 - 2018-09-13 13:39:35 [0.15ms] */
select id_substancji from przekierowanie_substancji where id_produktu = '191';
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 34 - 2018-09-13 13:39:35 [0.14ms] */
select nazwa from substancje where id = '142' ;
/*==================================================*/
/* Origin (request): GET http://127.0.0.1/leki_2018_2/public/wyszukaj2?data_do=&data_od=&dawka_do=&dawka_od=&fraza=&fraza1=&fraza2=&godzina_do=&godzina_od=&grupa=&produkt=perazin&sortuj=1&substancja=&wedlug=1&wszystkie=2
   Query 35 - 2018-09-13 13:39:35 [0.17ms] */
select id_spozycia from przekierowanie_opis where id_spozycia = '35841';
/*==================================================*/

0

takie samo zapytanie (...)

Twoje zapytania różnią się wewnątrz klauzuli LIMIT.

0

Różnią się bo z tego wnioskuje, że to jedno zapytanie jest rozbijane na kilka zapytań.

0

Pokaż kod zapytania w laravelu.

0
select porcja ,spozycie.data as data_,produkty.nazwa as nazwa,substancje.nazwa as nazwa_sub,id_produktu,spozycie.id as id,spozycie.cena as cena from spozycie join produkty on spozycie.id_produktu = produkty.id join substancje on produkty.id_substancji = substancje.id join przekierowanie_opis on przekierowanie_opis.id_spozycia = spozycie.id where id_produktu in (103) and spozycie.id_users = '38' order by data_ DESC limit 0,10 
$zapytanie = DB::select("select $this->porcja,spozycie.data as data_,produkty.nazwa as nazwa,substancje.nazwa as nazwa_sub,id_produktu,"
                . "spozycie.id as id,spozycie.cena as cena"
                . " from spozycie join produkty on spozycie.id_produktu = produkty.id  join substancje on produkty.id_substancji = substancje.id "
                . " $this->join where  $this->produkty $this->where $this->group $this->having $this->sortuj limit $this->limit");
0

No to jeżeli chodzi o zapytanie, działa ono poprawnie.
Jeżeli zarówno lewy jak i prawy zbiór mają część wspólną to wyciąga je wszystkie.
Bo skąd SQL niby ma wiedzieć który opis Ty byś chciał wyciągnąć ?

JOIN przekierowanie_opis ON przekierowanie_opis.id_spozycia = spozycie.id
0

To jest tylko do sprawdzenia czy taki opis jest.

1

W takim razie pogrupuj wynik po jakimś id'ku produktu.

0

Już działa pofrupowałem według tego

group by przekierowanie_opis.id_spozycia

1 użytkowników online, w tym zalogowanych: 0, gości: 1