나는 Laravel을 처음 사용합니다. 초보자 질문을 실례하지만 기록이 있는지 어떻게 알 수 있습니까?
$user = User::where('email', '=', Input::get('email'));
$user
기록이 있는지 확인하기 위해 여기서 무엇을 할 수 있습니까?
답변
나중에 사용자와 작업 할 것인지 아니면 존재하는지 확인해야합니다.
존재하는 경우 사용자 오브젝트를 사용하려는 경우 :
$user = User::where('email', '=', Input::get('email'))->first();
if ($user === null) {
// user doesn't exist
}
그리고 당신이 확인하고 싶다면
if (User::where('email', '=', Input::get('email'))->count() > 0) {
// user found
}
아니면 더 좋은
if (User::where('email', '=', Input::get('email'))->exists()) {
// user found
}
답변
가장 좋은 해결책 중 하나는 firstOrNew
또는 firstOrCreate
방법 을 사용하는 것입니다. 이 문서 에는 두 가지에 대한 자세한 내용이 있습니다.
답변
if (User::where('email', Input::get('email'))->exists()) {
// exists
}
답변
if($user->isEmpty()){
// has no records
}
Eloquent는 컬렉션을 사용합니다. 다음 링크를 참조하십시오 : https://laravel.com/docs/5.4/eloquent-collections
답변
if (User::where('email', 'user@email.com')->first())
// It exists
else
// It does not exist
사용은 first()
하지 count()
만 존재 여부를 확인해야합니다.
first()
입니다 빨리 는 반면, 하나의 일치를 확인하기 때문에 count()
카운트 모든 경기.
답변
laravel eloquent에는 default exist () 메소드가 있습니다. 다음 예제를 참조하십시오.
if(User::where('id', $user_id )->exists()){
// your code...
}
답변
라 라벨 5.6.26v
기본 키 (이메일 또는 아이디)를 통해 기존 레코드를 찾기 위해
$user = DB::table('users')->where('email',$email)->first();
그때
if(!$user){
//user is not found
}
if($user){
// user found
}
“DB 사용”을 포함하고 테이블 이름 사용자는 사용자와 같은 위의 쿼리를 사용하여 복수가됩니다.