laravel 尝试读取null上的属性“id”

mznpcxlj  于 2023-04-07  发布在  其他
关注(0)|答案(2)|浏览(138)

有一次我在做工匠优化和浏览器优化的时候,这个错误又消失了,请问怎么解决?
Ecommerce_Laravel8\app\Http\Repositories\UserRepository.php:32

namespace App\Http\Repositories;

use App\Http\Interfaces\UserInterface;
use App\Models\User; 
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;

class UserRepository implements UserInterface {

private $userModel;

public function __construct(User $user){

    $this->userModel = $user;
}  //end Method

public function logout()
{
    Auth::logout();
    return redirect()->route('login');
}  //end Method

public function profile()
{
    $id = Auth::user()->id;
    $user = $this->userModel::find($id);

    return view('user.profile.view_profile',compact('user'));
}  //end Method` ##
7cjasjjr

7cjasjjr1#

为什么要两次获取用户?无论如何,Auth::user()都是你想要的用户。

public function profile()
{
    $user = Auth::user();

    return view('user.profile.view_profile',compact('user'));
}
mrwjdhj3

mrwjdhj32#

所以你做的是错误的,当你注销时,你仍然在调用Auth::user()->id,当你注销时,Auth::user()->id不再存在,因为你到数据库的连接被删除了,但是你可以做的是,简单地删除Auth::user()->id并重定向路由回到登录页面,所以当你注销时,你可以回到登录页面或任何其他你想重定向到的页面。

相关问题