Yêu cầu thg 7 5, 2021 11:45 CH 130 0 1
  • 130 0 1
0

Hỏi về query trong laravel

Chia sẻ
  • 130 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 CÂU TRẢ LỜI


Đã trả lời thg 7 6, 2021 6:36 SA
Đã được chấp nhận
+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é.

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí