在 Laravel 中,數據庫模型是表示和處理數據庫表中數據的類。要定義一個數據庫模型,你需要遵循以下步驟:
YourModel
替換為你想要的模型名稱:php artisan make:model YourModel
這將在 app/Models
目錄下生成一個新的模型文件,例如 YourModel.php
。
YourModel
的類。這個類繼承自 Illuminate\Database\Eloquent\Model
類,這是 Laravel 中用于表示數據庫表的基類。namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class YourModel extends Model
{
// 模型代碼
}
protected $table
屬性來定義模型對應的數據庫表名。例如,如果你的模型對應名為 your_table
的表,你可以這樣定義:protected $table = 'your_table';
$fillable
屬性,該屬性是一個數組,包含一個模型中所有可批量賦值的字段。例如:protected $fillable = ['field1', 'field2', 'field3'];
這將告訴 Laravel,只有 field1
、field2
和 field3
這三個字段可以被批量賦值。
User
模型和一個 Post
模型,一個用戶可以有多篇文章,你可以在 Post
模型中定義一個 user
方法來表示這種關系:public function user()
{
return $this->belongsTo(User::class);
}
同樣,你也可以在 User
模型中定義一個 posts
方法來表示用戶擁有多篇文章的關系:
public function posts()
{
return $this->hasMany(Post::class);
}
現在你已經成功定義了一個 Laravel 數據庫模型。你可以使用 Eloquent ORM(對象關系映射)來操作數據庫中的數據。例如,你可以使用以下代碼創建、讀取、更新和刪除記錄:
// 創建記錄
$post = new Post(['title' => 'My first post', 'content' => 'This is the content of my first post.']);
$post->user()->associate($user);
$post->save();
// 讀取記錄
$post = Post::find(1);
// 更新記錄
$post->title = 'Updated title';
$post->save();
// 刪除記錄
$post->delete();