zamshed/crud-package-laravel

一个简单的Laravel库,允许您通过单个命令创建CRUD操作

1.0.1 2023-12-27 04:45 UTC

This package is auto-updated.

Last update: 2024-09-27 06:28:23 UTC


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');