사용자 ID를 기반으로 사용자의 Sanctum 토큰을 가져오려고 하는데 성공하지 못합니다. 이 애플리케이션은 React Native를 프런트엔드로, Laravel을 백엔드로 사용하는 단일 페이지 애플리케이션입니다.
다음 방법을 시도했지만 빈 개체를 얻었습니다.
$user = User::find($request['user_id']); $tokens = $user->토큰();
사용자가 등록할 때 토큰을 생성하는 방법은 다음과 같습니다.
$user = new User(); $user->name = '이름'; $user->저장(); $token = $user->createToken($request->input('device_name'))->plainTextToken; $user = $user->fresh();
토큰이 올바르게 생성되었나요? createToken을 사용한 후 다시 저장해야 하나요?
토큰을 얻으려면 ->get() 함수를 추가해야 합니다.
올바른 코드는 다음과 같습니다:
으아악$user->tokens()가 쿼리 빌더 개체를 반환하므로 모든 쿼리 빌더 기능을 추가하여 토큰을 필터링, 정렬 및 선택할 수 있기 때문입니다.
예:
으아악토큰은 personal_access_tokens 테이블에 저장되며 외래 키는 tokenable_id입니다.