imjonos / laravel-crud-generator
Laravel 增删改查生成器
dev-master
2023-01-13 14:52 UTC
Requires
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~7.0
- sempro/phpunit-pretty-print: ^1.0
This package is auto-updated.
Last update: 2024-09-13 18:11:03 UTC
README
生成:控制器、测试、模型、请求、视图、语言、VueJS、路由、菜单、工厂、种子
代码示例: https://github.com/imjonos/laravel-crud-generator
安装
通过 Composer
$ composer require imjonos/laravel-crud-generator
使用方法
$ php artisan crud:install
$ php artisan crud:generate table_name [--route=admin] [--force=0] [--import=0] [--export=0]
Nos\CRUD\Traits\Multitenantable - 你可以在模型中使用它
启用导入/导出
命令
$ ./artisan crud:generate table_name --import=1 --export=1 $ npm run dev/prod
Blade 文件
@include('vendor.nos.crud.import', ['route' => route('{{table_name}}.import')]) @include('vendor.nos.crud.export', ['route' => route('{{table_name}}.export')])
控制器
use Nos\CRUD\Traits\{Importable, Exportable}; use App\Exports\PostsExport; use App\Imports\PostsImport; class PostController extends Controller { use Importable, Exportable; public function getExportObject() { return new PostsExport(); } public function getImportObject() { return new PostsImport(); } ... }
启用文件上传
Based on spatie laravel-medialibrary
Install:
composer require spatie/laravel-medialibrary:~7.0.0
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"
php artisan migrate
Model:
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
class ModelExample extends Model implements HasMedia
{
use Multitenantable, HasMediaTrait;
protected $appends = ['media_collection'];
/**
* Return files
* @return Array
*/
public function getMediaCollectionAttribute():array
{
$this->getMedia();
return [
"name" => "MediaCollection",
"files" => $this->media,
"removedFiles" => []
];
}
}
View:
@component('nos.crud::fields.files', [
'required' => 0
])
@slot('label')
@lang('crud.labels.files')
@endslot
@slot('vModel')
form.media_collection
@endslot
@slot('name')
PostMediaCollection
@endslot
@slot('placeholder')
@lang('crud.labels.files_placeholder')
@endslot
@endcomponent
Controller:
use Nos\CRUD\Traits\FileUploadable;
public function update(UpdateRequest $request, Post $post)
{
$this->upload($request, $post);
$post->update($request->all());
贡献
请参阅 contributing.md 以获取详细信息和一个待办事项列表。
许可证
许可证。请参阅 许可证文件 获取更多信息。