2016-03-13 3 views
0

Для школьного проекта я пытаюсь удалить Eloquent из ядра моего проекта (нужно работать непосредственно с БД, не использовать ORM).Laravel AuthController не обновляет тело функции

Теперь я пытаюсь изменить функцию создания AuthController, но, похоже, она не обновляется. (Использование XAMPP с PHP7.)

Как вы можете видеть, я попытался заменить User :: create default выражением DB :: insert внутри функции создания AuthController.

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']) 
    ]);*/ 
} 

Но теперь я получаю:

FatalThrowableError в AuthController.php строке 71: Фатальная ошибка: Вызов неопределенной метод App \ User :: создать()

Я считаю, что функция требует больше, чем DB :: insert, как она говорит, что она должна возвращать новый экземпляр объекта User, но на данный момент я не могу даже проверить, что это будет делать, поскольку он все еще пытается вызвать старое тело функции. Я даже удалил раздел User :: create alltogether.

Это вещь XAMP? У меня не возникало проблем с обновлением и сохранением других файлов этого проекта, но этот контроллер не справляется с этим, кажется.

ответ

0

Постарайтесь очистить кэш ларавеля. Затем используйте:

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

Если вы все еще получаете сообщение об ошибке, пожалуйста, напишите содержание 71th линии AuthController.php

+0

я перезагрузил свой компьютер и изменения вступили в силу по какой-то причине. Не знаю, в чем причина, но спасибо :) – PeterTheLobster

0

Вы возвращаете две совершенно разные вещи.

return DB::insert 

против

return User::create 

Посмотрите, что пользователь :: создать возвращается и идти оттуда.

Смежные вопросы