salmanzafar / laravel-crud-generator
一个简单的Laravel库,允许您通过单个命令创建CRUD操作
v1.0.5
2020-10-12 13:42 UTC
Requires
- php: ^7.0 || ^7.1 || ^7.2 || ^7.3 || ^7.4
Requires (Dev)
- laravel/framework: ^5.5 || ^6.0 || ^7.0 || ^8.0
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');