私はlaravelについて学ぼうとしています。次のエラーが発生し続けます。
[ReflectionException]
Class UserTableSeeder does not exist
私が何をした:
ユーザークラス
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{
use Authenticatable, CanResetPassword;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'users';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['name', 'username', 'email', 'password'];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = ['password', 'remember_token'];
}
CreateUserTable の移行:
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('username');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
UserTableSeeder
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class UserTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB:table('users')->delete();
User::create(array(
'name' => 'Graham Neal',
'username' => 'Graham',
'email' => 'grahamneal1991@gmail.com',
'password' => Hash::make('0258456'),
));
}
}
データベースシーダー
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
// $this->call(UserTableSeeder::class);
$this->call('UserTableSeeder');
Model::reguard();
}
}
データベースシーダーで、次のことを試しました:
$this->call('UserTableSeeder');
$this->call('UserTableSeeder::User');
$this->call('App/UserTableSeeder');
$this->call('App/UserTableSeeder::User');
クラスが見つからないことはわかっていますが、その理由を見つけることについて暗闇に残されていますか? 私はグーグルを検索し、他の人がうまくいかなかった他の場所を見つけましたが、同じ間違いをしていないようです. これが本当にばかげた質問ではないことを願っています。
編集*
composer dump-autoload を実行すると、上記のエラーと次の例外トレースが表示されます。
[RuntimeException]
Could not scan for classes inside "user" which does not appear to be a file
nor a folder
このエラーは、クラスを composer.json ファイルに手動で追加した後に発生しました。
artisan db:seed を php しようとすると、別のエラーが発生します。
[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined function table()