iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
1

Day12 laravel 使用 model 上篇

今天來講講MVC結構中的"M",也就是model,基本上model會對應到你的資料庫,每個model對應一個table,其中也可以放一些function,讓controller可以重複的使用。

建立model

php artisan make:model {model name}

使用上述指令,馬上就可以建立model,例如我要建立一個名為Users的model
其內容為

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Users extends Model
{
    //
}

裏面等等裏面要加上資料庫中的table名稱,還有其中的column,你可以設置白名單,和黑名單,也可以設定一些隱藏參數,例如讀取使用者資料時,不會顯示"密碼"這個欄位。範例中我隨便加上一些內容,實際要對應到DB中的table資料喔

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Users extends Model
{
    protected $table = 'users';
    public $primaryKey = 'id';
    protected $fillable = ['username', 'password', 'email', 'image', 'remember_token'];
    protected $hidden = [
        'password', 'remember_token',
    ];
}

說明:

  • $table
    這個參數要填入你DB中的table名稱
  • $primaryKey
    填入你的primarykey
  • $fillable
    填入你的白名單,就是可以修改的欄位
  • $hidden
    填入的欄位會隱藏起來

這樣就建立好我的model了,DB連線的部份,請在.env裏面設定。

以上是我個人的設定,model要依照你DB中的table做設定,詳細的使用方法可以參考laravel的官方網站。

使用model

使用方法很簡單,在controller中直接使用這個類別即可,你可以看到model的最上面有個namespace App; 那你只要在controller最上面填入

use App\Users;

這樣就可以在controller中使用Todos這個model了。
例如:

    public function index()
    {
        $index = Users::all();
        return $index;
    }

上面範例我使用Todos::all();這是laravel中的Eloquent語法,代表取出Todos這張資料表中所有資料,Eloquent語法我在之後的文章中會講到。
今天就講到這邊,這次講了model的基本用法,model還有很多可以設定的屬性,在官方文件中都有介紹,我就不再贅述了,下次會講model如何做關聯,敬請期待。


上一篇
Day11 使用laravel migration功能 讓你快速佈署資料庫! 下篇
下一篇
Day13 laravel 使用 model 下篇
系列文
後端新手 使用laravel 從零開始 到開出api30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言