반응형
Laravel Eloquent-한 줄 가져 오기
이것은 간단한 질문 일 수 있지만 나는 이것을 이해할 수 없습니다. 다음을 사용하여 이메일로 사용자를 얻으려고합니다.
$user = User::whereEmail($email)->get();
그러나 이것은 $ users의 배열 (차원 1)을 반환합니다. 그래서 이름을 알고 싶다면 $user[0]['first_name']
.
나는 limit(1)
또는을 사용 하거나 take(1)
사용해 ->toArray()
보았지만 차이가 없었습니다.
내가 도대체 뭘 잘못하고있는 겁니까?
다음을 사용하십시오.
$user = User::whereEmail($email)->first();
너도 할 수있어
이것을 사용하기 전에 컨트롤러에서 DB 파사드를 선언해야합니다.
use Illuminate\Support\Facades\DB;
이제 이것을 사용하여 행을 얻을 수 있습니다.
$getUserByEmail = DB::table('users')->where('email', $email)->first();
또는 이것으로도
$getUserByEmail = DB::select('SELECT * FROM users WHERE email = ?' , ['useremailaddress@email.com']);
이것은 하나의 항목 만있는 배열을 반환하고 첫 번째 항목은 객체를 반환합니다. 명심하십시오.
도움이 되었기를 바랍니다.
Laravel Eloquent를 사용하면 first()
메소드를 사용하여 하나의 행을 얻을 수 있습니다 .
where()
조건이 발견되지 않으면 테이블의 첫 번째 행을 반환합니다. 그렇지 않으면 주어진 기준의 첫 번째 일치 행을 제공합니다.
통사론:
Model::where('fieldname',$value)->first();
예:
$user = User::where('email',$email)->first();
//OR
//$user = User::whereEmail($email)->first();
라 라벨 5.8
전체 행이 필요하지 않은 경우 value()
메서드를 사용하여 레코드에서 단일 값을 추출 할 수 있습니다 . 이 메서드는 열 값을 직접 반환합니다.
$first_name = DB::table('users')->where('email' ,'me@mail,com')->value('first_name');
문서 확인
이것을 사용할 수도 있습니다
$user = User::where('Email' , $email)->get();
참고 URL : https://stackoverflow.com/questions/23925476/laravel-eloquent-get-one-row
반응형
'program tip' 카테고리의 다른 글
VS2010 프로젝트에 파일을 포함하여 빌드 또는 게시 중에 자동으로 빌드 출력 디렉토리에 복사하는 방법 (0) | 2020.11.11 |
---|---|
점 구문 대신 문자열을 사용하여 Django 모델의 필드에 액세스 하시겠습니까? (0) | 2020.11.11 |
TensorFlow로 개별 작업의 실행 시간을 측정 할 수 있습니까? (0) | 2020.11.10 |
존재하지 않는 MySQL 가입 (0) | 2020.11.10 |
대화 용 소프트 키보드 표시 (0) | 2020.11.10 |