метод 'create' не найден в app \ user laravel 7 - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь добавить регистрацию в свое приложение laravel, но я не могу создать нового пользователя в моем контроллере регистрации. На самом деле редактор продолжает говорить мне, что метод создания не найден изображение здесь

, и когда я обслуживаю приложение и пытаюсь создать пользователя, появляется эта ошибка: Class 'app \ User' not found

изображение ошибки 1
изображение ошибки 2

это код контроллера регистрации:

<?php

namespace App\Http\Controllers;

use app\User;
use Illuminate\Http\Request;

class RegistrationController extends Controller
{
    public function create() {
        return view('pages.register');
    }

    public function store() {

        $this->validate(request(), [
            'name'=>'required',
            'email'=>'required|email',
            'password'=>'required'
        ]);
        **$user = User::create(request(['name', 'email', 'password']));**
        auth() -> login($user);

        return redirect() -> to('/');

    }

}

Я не мог найти проблему около недели. есть ли способ исправить это? и я использую Laravel Framework 7.3.0

Ответы [ 3 ]

0 голосов
/ 28 мая 2020

Измените это use app\User; На это use App\User;

0 голосов
/ 28 мая 2020

Вы допустили «опечатку», когда предоставляете список классов для использования. В то время как пространства имен в PHP нечувствительны к регистру, когда вы используете автозагрузку Composer, он сохраняет карту классов как ассоциативный массив, где имя класса используется в качестве ключа, например:

'App\\User' => $baseDir . '/app/User.php',

Keys of ассоциативные массивы чувствительны к регистру, поэтому, когда вы используете свой класс, вы должны предоставить ему полное имя в том же регистре, в котором он был определен. Учитывая это, изменение регистра пространства имен устранит проблему:

// Incorrect
use app\User;

// Correct
use App\User;
0 голосов
/ 28 мая 2020

Метод create принимает массив. документы

$user = User::create([
    'first_name' => 'Taylor',
    'last_name' => 'Otwell',
    'title' => 'Developer',
]);

В вашем случае

public function store(Request $request) {
    .
    .
    $user = User::create($request->all());
    auth()->login($user, true);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...