Aktywne Wpisy
Szpeju +474
kozackikozak +70
jakieś przegrywy węszą spisek bo uwaga MURZYN JEST W KSIĄŻCE XDDDDDDD
z kim ja tu #!$%@? siedzę
#neuropa #bekazprawakow #bekazpodludzi #shitwykopsays
z kim ja tu #!$%@? siedzę
#neuropa #bekazprawakow #bekazpodludzi #shitwykopsays
Mam w bazie tabelę 'Friends', która przechowuje id 2 userów i pole accepted, jeżeli zaproszenie zostało zaakceptowane i osoby są znajomymi.
Nie chciałem "duplikować" danych i jak mam rekord z userem 1 i userem 2 to nie muszę tworzyć rekordu odwrotnie. I teraz mam problem z pobraniem tych danych w kontrolerze:
Friend::where([
'user_id' => $friend_id,
'friend_id' => Auth::id(),
'accepted' => 1,
])->orWhere([
'user_id' => Auth::id(),
'friend_id' => $friend_id,
'accepted' => 1,
])->get();
To powinno zwrócić konkretny rekord lub jego brak, a zwraca wszystkie elementy z tablicy. Jak porozbijam zapytania na 2 oddzielne to przy założeniu, że rekord istnieje jedno zwróci jeden element, drugie będzie puste.
O co może chodzić? To wina orWhere()?
#php #laravel #naukaprogramowania
$users = DB::table('users')->where([
['status', '=', '1'],
['subscribed', '<>', '1'],
])->get();
Przepisz swoje wg tego i zadziała.
Niekoniecznie musisz korzystać z DB:table of kors, chodzi mi o zawartość where.
'friendid' => $friendid,
Wywala błąd.
@l2habit:
Chyba nie o to chodzi. Jak rozbiję zapytanie na 2 oddzielne to oba zwracają poprawne wyniki ( raz jedno zwraca jeden element, raz drugie - w zależności kto kogo zaprosił )
FriendsController.php
metoda delete
Tabela w załączniku.
I jeszcze wynik: jak widać query z orWhere zwraca wszystke obiekty z bazy
Friends::where([
['user_id', '=', $friend_id],
['friend_id', '=', Auth::id()],
['accepted', '=', 1],
])->orWhere([
['user_id', '=', Auth::id()],
['friend_id', '=', $friend_id],
['accepted', '=', 1],
])->get();
Ok, działa. Dziękuję za pomoc!