saidjon / inertia-crud-generator
此包创建用于创建、更新、删除和列出元素的UI表单
v2.5
2024-07-03 07:39 UTC
Requires
- php: *
- doctrine/dbal: ^3.2
- inertiajs/inertia-laravel: *
- laravel/framework: *
- laravel/sanctum: *
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-10-03 08:07:45 UTC
README
安装最新的laravel 8
我们依赖于laravel-restify生成器用于API端点和搜索。
$ composer require binaryk/laravel-restify
$ php artisan restify:setup
使用jetstream进行身份验证非常简单。安装jetstream
$ composer require laravel/jetstream
$ php artisan jetstream:install inertia
然后安装包
在运行之前,请备份app.js文件
composer require saidjon/inertia-crud-generator
然后发布文件
$ php artisan vendor:publish --tag=inertia-crud --force
此命令将执行以下更改
-
app.js将被覆盖。如果您希望,可以从小备份中修改app.js
-
将inertia-crud.php发布到/route文件夹。在web.php中粘贴以下内容
$ include_once('inertia-crud.php');
- 它将发布到js/ *Components *plugins
###然后在resourses/css/app.css中粘贴以下内容。您可以在那里找到notify.css文件
$ @import 'notify.css'
- 在您的User模型中使用AuthTokenTrait
-
向app/Http/Middleware/HandleInertiaRequests中添加csrf_token以供inertia使用
public function share(Request $request) { return array_merge(parent::share($request), [ 'csrf' =>csrf_token(), ]); }
在app/Restify/Repository.php中添加此函数
public function serializeForIndex(RestifyRequest $request): array { $data = parent::serializeForIndex($request); // $attributes = $this->when((bool) $attrs = $this->resolveIndexAttributes($request), $attrs); /** * move attributes to one level up and extract them , unset original attributes */ $data = array_merge($data,$data['attributes']); unset($data['attributes']); return $data; }
然后,在您的resources/css/app.css中包含notify.css,该文件位于同一文件夹中
将这些复制到package.json中。删除重复项
"@ckeditor/ckeditor5-build-classic": "^34.0.0", "@ckeditor/ckeditor5-vue": "^4.0.0", "awesome-notifications": "^3.1.2", "@vue/babel-plugin-jsx": "^1.1.1", "@json-editor/json-editor": "^2.6.1", "vue-draggable-next": "^2.1.1", "vue-multiselect": "^3.0.0-alpha.2", "jodit-vue3": "^1.0.5", "vue3-easy-data-table": "^1.5.34",