Laravel 身份验证控制器不更新函数体


Laravel AuthController not updating function body

对于一个学校项目,我正在尝试从项目的核心中删除Eloquent(必须直接使用DB,不能使用ORM)。

我现在正在尝试修改AuthController的创建功能,但它似乎没有更新。(将 XAMPP 与 PHP7 一起使用。

如您所见,我试图将User::create默认值替换为AuthController的create函数中的DB::insert语句。

protected function create(array $data)
{
  return DB::insert('INSERT INTO users (firstname,lastname,birthday,gender,email,password) values(?,?,?,?,?,?)',
    array(
      $data['firstname'],
     $data['lastname'],
     $data['birthday'],
     $data['gender'],
     $data['email'],
     bcrypt($data['password'])
    )
  );
    // OLD FUNCTION BODY:
    /*return User::create([
        'firstname' => $data['firstname'],
        'lastname' => $data['lastname'],
        'birthday' => $data['birthday'],
        'gender' => $data['gender'],
        'email' => $data['email'],
        'password' => bcrypt($data['password'])
    ]);*/
}

但现在我不断得到:

AuthController中的FatalThrowableError.php第71行:致命错误:调用未定义的方法App''User::create()

我相信该函数需要的不仅仅是DB::insert,正如它所说,它应该返回User对象的新实例,但目前我什至无法测试这将做什么,因为它仍在尝试调用旧的函数体。我什至完全删除了用户::创建部分。

这是XAMP的东西吗?我在更新和保存该项目的其他文件时没有问题,但是这个控制器似乎无法通过。

尝试清理Laravel缓存。然后使用这个:

return DB::insert(array(
     'firstname' => $data['firstname'],
     'lastname' => $data['lastname'],
     'birthday' => $data['birthday'],
     'gender' => $data['gender'],
     'email' => $data['email'],
     'password' => bcrypt($data['password'])
    )
  );

如果您仍然收到错误,请发布第 71 行AuthController.php

的内容

你返回的是两个完全不同的东西。

return DB::insert

return User::create

查看 User::create 返回的内容,然后从那里开始。