前幾天建立了Blog Post在資料庫的Schema,並且遷移(Migration)進資料庫,建立相關的資料表(blog_post)。為了讓Larave提供的ORM系統,以一個美觀、簡易的方式操作資料庫,還得建立BlogPost Model類別。
當然也可以使用artisan建立一個樣板:
artisan make:model BlogPost
然後會有app/BlogPost.php
的檔案
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class BlogPost extends Model
{
//
}
這次,只需要簡單改成下面的樣子就好:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class BlogPost extends Model
{
protected $table = "blog_post";
// protected $primaryKey = 'id';
// public $timestamps = false;
}
只需要修改對定的$table
名稱,這是因為和預設的名稱(blog_posts
)上對不起來(或者去修改建立的資料表名稱)。同樣的,如過沒有建立時間戳記($timestamps
),可以設為false
,不過我們保留了相關欄位(手動建立可能就不會有這個欄位要注意)。主鍵也是,因為同樣是'id'
,所以無須而外設定。
此外,還可以加以設定$attributes
、$connection
等等屬性。建立不同欄位的Getter
、Setter
。這表示,可以將Parsedown
放到content
的Geter
。要使用Laravel提供的ORM系統,設定就是這麼簡單。詳細能設定的東西,可以參看文件,明天再來說說怎麼操作這個建立的模型。