내 데이터베이스에있는 [email protected] 인 web-sniffer에서 요청을 보내는 중 : 여기에 내 컨트롤러 코드가 있습니다.
$email = $request["email"];
$user = DB::select('select * from users where email = :email', ['email' => $email]);
var_dump($user);
//echo $user->email ;
그러나 에코의 주석을 제거하면 여기에 이미지 설명을 입력하십시오.
그래서 문제는 내 $ user가 비어 있지 않지만 속성에 액세스하려고하면 "비 개체의 속성을 가져 오는 중"오류가 발생합니다.
당신이 얻는 결과는 배열입니다. 그럼에도 불구하고 하나의 요소를 사용하지만 배열을 사용하여 속성에 액세스 할 수 있습니다.
echo $user[0]->email;
예를 들어 Fluent와 같은 더 나은 접근 방식을 사용하는 것이 좋습니다.
$user = \DB::table('users')
->where('email', $request['email'])
->first();
또는 Eloquent :
$user = User::whereEmail($request['email'])->first();
이렇게하면 하나의 레코드 ( first()
) 만 얻을 수 있으며 지금처럼 속성에 액세스 할 수 있습니다.
if ($user) {
$email = $user->email;
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다