迁移数据库后,我正在尝试一个基本的php artisan db:seed,但它在cmd-[ReflectionException]类“UserTableSeeder”中不断返回标题错误
我尝试过的事情
下面是迁徙
<?php
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('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
下面是UserTableSeeder.php
<?php
use App\User;
use Illuminate\Database\Seeder;
class UserTableSeeder extends Seeder {
public function run()
{
DB::table('users')->delete();
User::create(['email' => 'foo@bar.com']);
}
}
以下是数据库eeder.php
<?php
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');
}
}
试着改变
$this->call('UserTableSeeder');
到
$this->call(UserTableSeeder::class);
试着跑步
composer dump-autoload
有时代码是正确的,但您需要运行以下命令才能运行seeder命令。首先运行这个命令
composer dumpautoload
然后给播种机播种
php artisan db:seed --class=CreateUsersTable
我希望它能起作用
在数据库/文件夹中创建文件后运行作曲家Dumpautoload
。
为什么啊?
检查composer.json
自动加载部分,你会看到数据库/
文件夹是由类映射(源)加载的:
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
Composer文档将classmap描述为:
在安装/更新过程中,类映射引用都合并到一个键中=
您可以使用类映射生成支持为所有不遵循PSR-0/4的库定义自动加载。要配置此选项,请指定要搜索类的所有目录或文件。
重点补充。每次向数据库/
添加文件时,都需要运行composer dumpautoload
命令来生成新的类映射,否则它将不会自动加载。
相比之下,app/
文件夹使用PSR-4标准将完全限定的类名转换为文件系统路径。这就是为什么在添加文件后不需要dumpautoload
。
我想用下面的元素迁移一个表。 然而,我一直在处理下面的错误。有人知道如何使整数“loginid不是一个主键,以便我可以迁移下表吗?任何建议都很感激。提前谢谢。 [Illuminate\database\queryException] SQLSTATE[HY000]:一般错误:1表“users”有多个主键(SQL:create table“users”(“id”integer not null主键自
运行php artisan db:seed时,出现以下错误: 到底是怎么回事? 我的数据库Seeder类: 我的Song sTableSeeder类:
我有一个错误与我的Laravel 5.2应用程序,其中类方法的调用导致Laravel无法找到类。 我运行一个LAMP堆栈。 我尝试了各种建议,许多人偶然发现命名空间是解决方案。我是新来的Laravel,所以可能有一些元素设置,我做的不正确。我主要研究了文件夹所有权和权限。 在调用库提供的其他控制器时,我也遇到过这个问题。然而,我不确定描述这个问题是否会混淆真正的问题。 反射异常在Route.php
问题内容: 我马上输入命令。 我收到 错误提示 : [ReflectionException] 类UserTableSeeder不存在 在这里,是我&页面 UserTableSeeder.php DatabaseSeeder.php 我将这个链接引至“设计与开发”登录页面。请帮助我解决此问题。谢谢。 问题答案: 执行一个,然后。 如果以上操作不解决问题 ,改变 你的 文件,使之包含项目相关的路径到
尽快,我输入命令。 我得到错误像: [ReflectionException] 类UserTableSeeder不存在 这里是我的 用户表种子。php 数据库eeder.php 我把这个链接和设计联系起来
我直接从4.2升级到5.1,遇到了Html和Form类的问题。 我按照升级说明做了 在composer.json中添加“laravelcollective/html”:“~5.0” 但我的观点行不通。我在使用HTML::router时获取,或者在使用链接到路由时获取 我还尝试了而不是,我做了一个