ngiraud/posttype-management
Composer 安装命令:
composer require ngiraud/posttype-management
包简介
Add or remove a simple posttype configuration to your Laravel application.
README 文档
README
This package allows you to add or remove a simple "posttype" configuration to your Laravel application.
Installation
Prerequisites
- This package can be used in Laravel 5.4 or higher
Step 1
You can install the package via composer:
composer require ngiraud/posttype-management
Step 2
In Laravel 5.5 the service provider will automatically get registered. In older versions just add the service provider in the config/app.php file:
'providers' => [ // ... NGiraud\PostType\PostTypeServiceProvider::class, ];
Usage
Create a post type
This command will create a model, resource controller, migration and factory into your Laravel project.
It will also add a route in the routes/web.php file.
php artisan posttype:create MYPOSTTYPE [-m|--migrate] [--ctrl-folder=MYFOLDER]
If you want to specify a custom path to your Controller directory inside the App/Http, you can use:
php artisan posttype:create MYPOSTTYPE --ctrl-folder=MYFOLDER
The route will be namespaced with the folder name.
If you want to migrate the generated migration instantly:
php artisan posttype:create MYPOSTTYPE -m
Remove a post type
This command will remove the model, resource controller, migration and factory from your Laravel project.
php artisan posttype:remove MYPOSTTYPE
!!! The associated route will not be removed !!!
Columns
The default columns added to a post type are:
$table->increments('id'); $table->unsignedInteger('user_id'); $table->unsignedInteger('parent_id')->nullable(); $table->string('name'); $table->string('slug'); $table->unsignedTinyInteger('status'); $table->text('excerpt')->nullable(); $table->longText('content')->nullable(); $table->timestamp('published_at')->nullable(); $table->timestamps(); $table->softDeletes();
The package uses softDeletes columns.
The user_id column is automatically saved in the model boot event saving with the authenticated user id.
The published_at column is automatically saved as well as the user_id if the status is published.
Default comportment
Post types queries have a global scope to only fetch published data.
A relationship exists between a user and the posttype called owner(). Two relationships exist between a posttype parent and a posttype children :
- The first one is parent();
- The second one is children();
A public function "rules" exists, you can override it if you want.
To add another status you just have to add a constant in the model called STATUS_MYNEWSTATUS :
Credits
- Nicolas Giraud
统计信息
- 总下载量: 21
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-02-11