zamshed / crud-package-laravel
一个简单的Laravel库,允许您通过单个命令创建CRUD操作
1.0.1
2023-12-27 04:45 UTC
Requires
- php: ^7.0 || ^8.0
Requires (Dev)
- laravel/framework: ^10.0
README
composer require zamshed/crud-package-laravel
功能
- 控制器(所有代码已预先编写)
- 模型
- 迁移
- 请求
- 路由
配置
发布配置文件
此步骤是必需的
php artisan vendor:publish --provider="zamshed\CrudGenerator\CrudGeneratorServiceProvider"
使用方法
发布配置文件后,只需运行以下命令
php artisan crud:generate ModelName
就这样,现在您的所有 模型 控制器、迁移、路由
和 请求
都将自动创建,并包含执行基本CRUD操作所需的所有代码
示例
php artisan crud:generate Post
PostController.php
<?php
namespace App\Http\Controllers;
use App\Http\Requests\PostRequest;
use App\Post;
class PostController extends Controller
{
public function index()
{
$posts = Post::latest()->get();
return response()->json($posts, 201);
}
public function store(PostRequest $request)
{
$post = Post::create($request->all());
return response()->json($post, 201);
}
public function show($id)
{
$post = Post::findOrFail($id);
return response()->json($post);
}
public function update(PostRequest $request, $id)
{
$post = Post::findOrFail($id);
$post->update($request->all());
return response()->json($Post, 200);
}
public function destroy($id)
{
Post::destroy($id);
return response()->json(null, 204);
}
}
Post.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $guarded = ['id'];
}
PostRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class PostRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [];
}
}
posts表迁移
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatepostsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('posts');
}
}
Routes/api.php
Route::apiResource('posts', 'PostController');