0

问题描述:laravel项目里,我需要实现自己管理创建表的功能,我试着调用database/migration下面的类,但报错Class 'databaseMigrationsCreateYyAuthRuleTable' not found,看起来一切似乎都没有问题,phpstorm中ctrl键也是可以键入该类文件的,百度了很久我不知该怎么办了,请问该怎么解决?

相关代码:

// 请把代码文本粘贴到下方(请勿用图片代替代码)
在appModelsClientGenerate.php中

public function createDataTables()
{
    return \database\Migrations\CreateYyAuthRuleTable::getInstance()->up();
}

在databasemigrationsCreateYyAuthRuleTable.php中

 <?php
 namespace database\Migrations;

 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Schema;
 use Illuminate\Database\Schema\Blueprint;
 use Illuminate\Database\Migrations\Migration;

class CreateYyAuthRuleTable extends Migration
{

public static $instance;

public static function getInstance(){
    if(!self::$instance)
        self::$instance = new self();

    return self::$instance;
}

/**
 * Run the migrations.
 *
 * @return mixed
 */
public function up()
{
    $tabel = request()->session()->get('client_username').'_yy_auth_rule';
    Schema::create($tabel, function (Blueprint $table) {
        $table->increments('id');
        $table->string('name', 250)->comment('权限点');
        $table->string('title', 250)->comment('名称');
        $table->tinyInteger('type')->comment('类型');
        $table->tinyInteger('status')->comment('1 启用; 0 禁用');
        $table->tinyInteger('menu')->comment('1 作为菜单显示; 0 不显示');
        $table->string('condition',250);
        $table->integer('pid')->comment('父级ID');
        $table->string('remark',250)->comment('备注');
        $table->string('icon',125)->comment('图标');
        $table->integer('sort')->comment('排序');
        $table->tinyInteger('deleted')->comment('是否删除');
    });
    return Schema::hasTable($tabel);
}

}

报错信息如下

clipboard.png

Oo侯 2
2019-06-17 提问
1 个回答
2

已采纳

Laravel 的 Composer autoload 节点中。

PSR-4 只加载 App 即命名空间 app 目录下符合 PSR-4 的文件。

classmap 只加载 database/seeds , database/factories, 着两个目录下的。

如果你需要自动加载,可以 把 database/migrations 加入到 classmap 节点。

clipboard.png

撰写答案

推广链接