Asked Jul 5th, 2021 11:45 p.m. 134 0 1
  • 134 0 1
0

Hỏi về query trong laravel

Share
  • 134 0 1

sEm có 2 bang: users(id, name). tokens(user_id, token) 2 bảng vẫn chưa có quan hệ 1 - n. Bài toán đưa ra: nhận về token từ người dùng làm thế nào để lấy đc user trong 1 câu query duy nhất. em làm mất 2 câu: 1) so sánh token user gửi lên với token trong bảng => lấy đc user_id 2) so sánh user_id vs id trong bảng user-> get user Có cách nào em thực hiện bài toán trong 1 query ko ạ? thanks

1 ANSWERS


Answered Jul 6th, 2021 6:36 a.m.
Accepted
+1

@nhatnguyen123321
Bạn dùng whereHas nhé.
https://laravel.com/docs/8.x/eloquent-relationships#querying-relationship-existence

$user= User:whereHas('tokens', function () use ($token) {
   $query->where('token',  $token);
})->first();

Nhớ đừng quên thiết lập quan hệ trong model User nhé.

Share
Viblo
Let's register a Viblo Account to get more interesting posts.