鍵突出顯示
>數據庫遷移
首先,我們定義數據庫架構。 一個具有五個列(ID,標題,描述,Create_at,Updated_at)的單個表。 Laravel的遷移簡化了數據庫更新。 遷移文件看起來像這樣:
>執行遷移,<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateTodoTable extends Migration { public function up() { Schema::create('todos', function (Blueprint $table) { $table->increments('id'); $table->string('title', 20); $table->text('description'); $table->timestamps(); }); } public function down() { Schema::dropIfExists('todos'); } }
>
up()
down()
模型
Laravel的MVC體系結構需要一個用於數據庫交互的模型。 我們的簡單表需要一個直接的模型:
laravel會自動將鏈接到
>表。雄辯的Laravel的ORM促進了數據庫對像操縱。<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Todo extends Model { protected $fillable = ['title', 'description']; public $timestamps = true; }
和Todo
。
todos
$timestamps = true
控制器created_at
updated_at
檢索所有條目。
檢索特定的條目。
使用請求驗證。
<?php namespace App\Http\Controllers; use App\Models\Todo; use Illuminate\Http\Request; class TodoController extends Controller { public function list() { $todos = Todo::all(); return view('list', compact('todos')); } public function view($id) { $todo = Todo::find($id); return view('view', compact('todo')); } public function delete($id) { $todo = Todo::find($id); $todo->delete(); return view('deleted'); } public function new() { return view('add'); } public function add(Request $request) { $validatedData = $request->validate([ 'title' => 'required|max:20', 'description' => 'required', ]); Todo::create($validatedData); return view('success'); } }
視圖(示例:list)Todo::all()
action_add()
>
視圖:
結論list
<h2>Todo List</h2> <p>{{ link_to_route('todo.new', 'Add new todo') }}</p> <ul> @foreach ($todos as $todo) <li>{{ link_to_route('todo.view', $todo->title, [$todo->id]) }} - {{ link_to_route('todo.delete', 'Delete', [$todo->id]) }}</li> @endforeach </ul>
(注意:提供的代碼段是簡化的示例,可能需要調整功能齊全的應用程序。在生產環境中需要進行錯誤處理和更健壯的功能。
以上是Laravel:真的很乾淨嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!