迁移步骤最近发现很多同学对如何将项目从laravel-admin迁移到dcat-admin存在疑惑,下面小编为大家讲解一下迁移的实际步骤。其实两者的用法基本是一样的,需要改的代码会很少。大家也可以在这里反馈迁移中遇到的问题,有时间我会一一帮大家解决。1.新建代码分支这一步不用解释,大家都懂的。如果你使用的版本管理软件不是git,你也可以复制你的代码作为一个新项目。2.安装dcat-admin需要先卸载encore/laravel-admin,同时卸载laravel-admin所有相关插件,再安装dcat/laravel-admin,建议安装最新版本//卸载laravel-admin的所有相关插件先//然后运行composerremoveencore/laravel-admincomposerrequiredcat/laravel-admin安装后需要全局替换命名空间前缀,将Encore\Admin替换为Dcat\Admin,删除public/vendor目录文件,并备份配置文件config/admin.php命名为config/admin.bak.php,然后重新发布资源phpartisanadmin:publish--force最后修改配置文件config/admin.php,重写你自定义的参数2.更改安装上面的表结构步骤完成后,就可以调整表结构了。首先新建一个迁移文件phpartisanmake:migrationUpdateAdminTables并打开,写入如下内容integer('parent_id')->def故障(0);$table->integer('order')->default(0);});Schema::create(config('admin.database.permission_menu_table'),function(Blueprint$table){$table->integer('permission_id');$table->integer('menu_id');$table->unique(['permission_id','menu_id']);$table->timestamps();});}publicfunctiondown(){Schema::table(config('admin.database.permissions_table'),function(Blueprint$table){$table->dropColumn('parent_id');$table->dropColumn('order');});Schema::dropIfExists(config('admin.database.permission_menu_table'));}}最后,运行以下命令更改表结构phpartisanmigrate3。修改bootstrap.php然后需要打开app/Admin/bootstrap.php,如果Grid、Form、Show等初始化操作,以及顶部导航栏设置的功能,都需要修改。有关详细信息,请参阅文档。可能有其他不兼容的方法。可以看看编辑器里面有没有黄色标记。四、Controller1、调整关联模型的使用,需要检查grid、form、show是否使用了关联模型。如果是这样,您需要进行以下更改//Form$grid=newGrid(Model::with([...]));//Form$form=newForm(Model::with([...]));//数据详情$show=newShow($id,Model::with([...]));说到这里,很多同学可能会有疑惑,为什么要显式声明关系,像laravel-admin那样自动判断不好吗?其实这样设计是有原因的,主要是为了解决下面的问题可以获取包中的模型数据//而这个函数在执行回调前需要查询数据,所以无法自动判断关联的模型if($form->model()->username){..。}别的{...}});2.网格表的数据导出方式使用不同,需要参考文档3.form表单提交改为ajax提交,所以form事件的用法不同,需要参考document5.Model如果你使用的是laravel7,你需要在你的模型中添加以下代码useDcat\Admin\Traits\HasDateTimeFormatter;classUserextendModel{useHasDateTimeFormatter;}6.自定义视图项目视图,而js代码写在视图中,需要做如下处理...7.如果使用action表单,如果使用laravel-admin的弹出表单功能,需要做一些调整。具体使用请参考文档工具表格。完整的功能,然后在出现问题时根据文档进行调整。DcatAdminDcatAdmin是基于laravel-admin二次开发的后台系统搭建工具。可以用极少的代码快速搭建一个功能齐全、高价值的后台系统。内置丰富的后端常用组件,开箱即用,让开发者告别繁琐的HTML代码,对后端开发者非常友好。在线演示网站|官方文档|Github主页(如果您喜欢本项目,请点star,感谢您的支持!)
