问题描述: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);
}
}
Laravel 的
Composer
autoload
节点中。PSR-4
只加载App
即命名空间app
目录下符合PSR-4
的文件。classmap
只加载database/seeds
,database/factories
, 着两个目录下的。如果你需要自动加载,可以 把
database/migrations
加入到classmap
节点。