Laravel CROD 项目教程
项目介绍
Laravel CROD 是一个基于 Laravel 框架的开源项目,旨在简化 CRUD(创建、读取、更新、删除)操作的开发过程。该项目通过提供一套预构建的组件和工具,帮助开发者快速构建和管理数据库驱动的应用程序。
项目快速启动
安装
首先,克隆项目仓库到本地:
git clone https://github.com/milwad-dev/laravel-crod.git
进入项目目录:
cd laravel-crod
安装依赖:
composer install
复制 .env.example
文件并重命名为 .env
,然后配置数据库连接:
cp .env.example .env
生成应用密钥:
php artisan key:generate
运行数据库迁移:
php artisan migrate
启动开发服务器:
php artisan serve
创建一个简单的 CRUD 应用
- 创建模型和迁移:
php artisan make:model Note -m
- 编辑迁移文件(
database/migrations/xxxx_xx_xx_create_notes_table.php
):
public function up()
{
Schema::create('notes', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('content');
$table->timestamps();
});
}
- 运行迁移:
php artisan migrate
- 创建控制器:
php artisan make:controller NoteController --resource
- 编辑控制器(
app/Http/Controllers/NoteController.php
):
namespace App\Http\Controllers;
use App\Models\Note;
use Illuminate\Http\Request;
class NoteController extends Controller
{
public function index()
{
$notes = Note::all();
return view('notes.index', compact('notes'));
}
public function create()
{
return view('notes.create');
}
public function store(Request $request)
{
$validated = $request->validate([
'name' => 'required',
'content' => 'required',
]);
Note::create($validated);
return redirect()->route('notes.index')->with('success', 'Note created successfully.');
}
public function show(Note $note)
{
return view('notes.show', compact('note'));
}
public function edit(Note $note)
{
return view('notes.edit', compact('note'));
}
public function update(Request $request, Note $note)
{
$validated = $request->validate([
'name' => 'required',
'content' => 'required',
]);
$note->update($validated);
return redirect()->route('notes.index')->with('success', 'Note updated successfully.');
}
public function destroy(Note $note)
{
$note->delete();
return redirect()->route('notes.index')->with('success', 'Note deleted successfully.');
}
}
- 创建视图文件:
创建以下 Blade 文件:
resources/views/notes/layout.blade.php
resources/views/notes/index.blade.php
resources/views/notes/create.blade.php
resources/views/notes/edit.blade.php
resources/views/notes/show.blade.php
- 配置路由(
routes/web.php
):
use App\Http\Controllers\NoteController;
Route::resource('notes', NoteController::class);
应用案例和最佳实践
应用案例
Laravel CROD 可以用于构建各种类型的应用程序,例如:
- 任务管理应用:用户可以创建、查看、更新和删除任务。
- 博客系统:管理员可以管理文章的创建、