91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Laravel5.1 框架創建模型

發布時間:2021-04-13 17:19:59 來源:億速云 閱讀:109 作者:Leah 欄目:開發技術

如何使用Laravel5.1 框架創建模型?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

1 創建模型

創建模型是可以使用Artisan控制臺的:

php artisan make:model Article

一般我比較喜歡連帶著migration一起生成:

php artisan make:model Article -m

↑ 執行了上面的Artisan命令后 我們就可以在 /app 下找到我們剛剛創建的模型了,順便也生成好了migration。

2 模型常用屬性

2.1 自定義表名

一個model對應一個表,model對應的表名默認是model名字的復數 即:Article(Model)對應Articles(Table),User(Model)對應Users(Table)。

當然 如果你的Model不想用這種默認方式 也可以自定義:

class Article extends Model
{
  protected $table = 'K_Articles';
}

2.2 自定義主鍵

Model的主鍵默認是id,你也可以自定義:

class Article extends Model
{
  protected $primaryKey = 'article_id';
}

2.3 時間戳

在咱的數據表之中 有create_at 和 update_at 兩個時間戳 是Laravel自動管理的,如果你不想要自動管理這兩個列 可以這樣做:

class Article extends Model
{
  public $timestamps = false;
}

2.4 白名單和黑名單

當我們用到批量創建和批量修改時 必須聲明黑名單或白名單,在白名單中的屬性是可以填充的屬性,在黑名單中的屬性是不允許被填充的屬性:

class Article extends Model
{
  protected $fillable = ['title', 'body'];
}

注意:不知道怎么用沒關系,3.2我們就會說批量創建。

3 創建數據(模型)

創建模型有兩種方法,第一種就是普通的創建,第二種是批量創建。

3.1 普通創建模型

普通創建就是新建一個模型:

  public function getCreateArticle()
  {
    $article = new Article();
    $article->title = 'One';
    $article->body = 'Learn Laravel Model';
    $article->save();
  }

3.2 批量創建

批量賦值就是使用create方法來生成一個model并返回這個新插入的model,在你使用create前必須檢查model中是否聲明了黑名單或白名單:

class Article extends Model
{
  protected $fillable = ['title', 'body'];
}

↑ 這是我們的白名單

  public function getCreateArticle()
  {
    $article = Article::create(['title'=>'Two', 'body'=>'Test Create Model', 'comment_count'=>10]);
  }

↑ 這是批量創建模型,有個細節哈 我們在fillable中沒有添加comment_count 但是create方法中的數組有comment_count的鍵值。。。結果呢 comment_count并沒有被填充,原因是:它不在白名單中 或者 它在黑名單中。

4 更新

更新跟插入很像,也有兩種方法 普通的 和 批量的。

4.1 普通更新

  public function getUpdateArticle()
  {
    $article = Article::find(1);
    $article->title = 'Article_One';
    $article->save();
  }

4.2 批量更新

  public function getUpdateArticle()
  {
    $article = Article::find(3);
    $article->update(['title' => 'Three', 'body' => 'Third']);
  }

5 查找

其實Model的查找跟之前我們學過的構建器很像。

5.1 獲取全部的模型

  public function getIndex()
  {
    $articles = Article::all();
    foreach ($articles as $article) {
      echo $article->title . '<br />';
      echo $article->body . '<br />';
    }
  }

5.2 獲取單個模型

使用find 通過主鍵查找:

  public function getIndex()
  {
    $article = Article::find(1);
    dd($article->body);
  }

我們也可以判斷是否取到了Model:

  public function getIndex()
  {
    $article = Article::find(2);
    if (!isset($article)){
      abort(404,'Not Found');
    }
    dd($article);
  }

當未取到值是自動報錯 應對這種場景 也可以使用findOrFail:

  public function getIndex()
  {
    $article = Article::findOrFail(2);
    dd($article);
  }

5.3 通過約束獲取模型

這就是和構建器相似的地方,你可以像約束構建器一樣約束它 這里就不多說了 給了例子吧:

  public function getIndex()
  {
    $article = Article::where('id','>',2)->orderBy('comment_count','desc')->lists('title')->toArray();
    dd($article);
  }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临桂县| 壶关县| 迭部县| 嘉荫县| 宁城县| 阜新市| 北宁市| 尼玛县| 加查县| 平塘县| 南昌市| 河间市| 嵊州市| 闵行区| 太湖县| 商南县| 延安市| 尼勒克县| 平远县| 西城区| 长武县| 额济纳旗| 突泉县| 凤山县| 宜良县| 于田县| 秭归县| 濮阳县| 嘉兴市| 太仆寺旗| 印江| 景谷| 临汾市| 教育| 云梦县| 丰原市| 弋阳县| 万盛区| 玉屏| 瑞昌市| 山丹县|