salmanzafar/laravel-crud-generator

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

v1.0.5 2020-10-12 13:42 UTC

This package is auto-updated.

Last update: 2024-09-17 08:39:52 UTC


README

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

安装

composer require salmanzafar/laravel-crud-generator

特性

  • 控制器(已编写所有代码)
  • 模型
  • 迁移
  • 请求
  • 路由

启用包(可选)

此包实现了Laravel自动发现功能。安装后,自动添加了包提供者和外观,适用于laravel >= 5.5。

配置

发布配置文件

此步骤是必需的

php artisan vendor:publish --provider="Salman\CrudGenerator\CrudGeneratorServiceProvider"

使用方法

发布配置文件后,只需运行以下命令

php artisan crud:generate ModelName

就是这样,现在所有您的 模型 控制器、迁移、路由请求 都将自动创建,并包含执行基本CRUD操作所需的所有代码

示例

php artisan crud:generate Car

CarController.php

<?php

namespace App\Http\Controllers;

use App\Http\Requests\CarRequest;
use App\Car;

class CarController extends Controller
{
    public function index()
    {
        $cars = Car::latest()->get();

        return response()->json($cars, 201);
    }

    public function store(CarRequest $request)
    {
        $car = Car::create($request->all());

        return response()->json($car, 201);
    }

    public function show($id)
    {
        $car = Car::findOrFail($id);

        return response()->json($car);
    }

    public function update(CarRequest $request, $id)
    {
        $car = Car::findOrFail($id);
        $car->update($request->all());

        return response()->json($car, 200);
    }

    public function destroy($id)
    {
        Car::destroy($id);

        return response()->json(null, 204);
    }
}

Car.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Car extends Model
{
    protected $guarded = ['id'];
}

CarRequest.php

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class CarRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [];
    }
}

cars 表迁移

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateCarsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('cars', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('cars');
    }
}

Routes/api.php

Route::apiResource('cars', 'CarController'); 
现在所有基本API都已准备好使用,您可以直接通过在表中添加字段来使用它们

在php 7.3和laravel 5.7以及laravel 5.8上进行了测试

目前此包仅支持API的CRUD操作