最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Laravel5.1 框架模型創(chuàng)建與使用方法實例分析

 更新時間:2020年01月08日 09:04:03   作者:Sky_sunkang  
這篇文章主要介紹了Laravel5.1 框架模型創(chuàng)建與使用方法,結合實例形式分析了laravel5.1框架模型的原理、創(chuàng)建、更新、獲取等相關操作技巧,需要的朋友可以參考下

本文實例講述了Laravel5.1 框架模型創(chuàng)建與使用方法。分享給大家供大家參考,具體如下:

Laravel的模型也是訪問數據庫的,它更加面向對象,一個模型對應著一張表 我們可以使用模型對數據做一些增刪改查的操作。

1 創(chuàng)建模型

創(chuàng)建模型是可以使用Artisan控制臺的:

php artisan make:model Article

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

php artisan make:model Article -m

↑ 執(zhí)行了上面的Artisan命令后 我們就可以在 /app 下找到我們剛剛創(chuàng)建的模型了,順便也生成好了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 白名單和黑名單

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

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

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

3 創(chuàng)建數據(模型)

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

3.1 普通創(chuàng)建模型

普通創(chuàng)建就是新建一個模型:

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

3.2 批量創(chuàng)建

批量賦值就是使用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]);
  }

↑ 這是批量創(chuàng)建模型,有個細節(jié)哈 我們在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);
  }

先寫這么多,下一篇說下Model的刪除功能。

更多關于Laravel相關內容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總

希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。

相關文章

  • php隨機輸出名人名言的代碼

    php隨機輸出名人名言的代碼

    正如你看到的“小談博客”標題后面的名人名言一樣,每刷新一次就會隨機出現(xiàn)一條語句,把你喜歡的話放到一起,經常出現(xiàn)在你眼前,給你溫暖的力量
    2012-10-10
  • django中的ajax組件教程詳解

    django中的ajax組件教程詳解

    Ajax(Asynchronous Javascript And XML)翻譯成英文就是“異步Javascript和XML”。這篇文章主要介紹了django中的ajax組件的教程 ,需要的朋友可以參考下
    2018-10-10
  • PHP上傳圖片、刪除圖片簡單實例

    PHP上傳圖片、刪除圖片簡單實例

    這篇文章主要介紹了PHP上傳圖片、刪除圖片簡單實例的相關資料,并附實現(xiàn)代碼實例,需要的朋友可以參考下
    2016-11-11
  • php_screw安裝使用教程(另一個PHP代碼加密實現(xiàn))

    php_screw安裝使用教程(另一個PHP代碼加密實現(xiàn))

    這篇文章主要介紹了php_screw安裝使用教程,php_screw是另一個PHP代碼加密實現(xiàn),和Zend的encoder類似,需要的朋友可以參考下
    2014-05-05
  • PHP之密碼加密的幾種方式

    PHP之密碼加密的幾種方式

    這篇文章主要是針對PHP實現(xiàn)密碼加密的幾種方式的詳細介紹,有需要的朋友可以參考下本文。
    2015-07-07
  • Laravel框架自定義分頁樣式操作示例

    Laravel框架自定義分頁樣式操作示例

    這篇文章主要介紹了Laravel框架自定義分頁樣式操作,結合實例形式詳細分析了laravel框架自定義分頁樣式的具體操作步驟、實現(xiàn)方法及相關注意事項,需要的朋友可以參考下
    2020-01-01
  • php添加數據到xml文件的簡單例子

    php添加數據到xml文件的簡單例子

    下面小編就為大家?guī)硪黄猵hp添加數據到xml文件的簡單例子。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • PHP實現(xiàn)阿里大魚短信驗證的實例代碼

    PHP實現(xiàn)阿里大魚短信驗證的實例代碼

    本篇文章主要介紹了PHP實現(xiàn)阿里大魚短信驗證的實例代碼的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Ajax提交表單時驗證碼自動驗證 php后端驗證碼檢測

    Ajax提交表單時驗證碼自動驗證 php后端驗證碼檢測

    Ajax提交表單時實現(xiàn)驗證碼自動驗證,驗證碼先檢測正確性,不正確則不提交表單,更新驗證碼,php后端驗證碼檢測,感興趣的小伙伴們可以參考一下
    2016-07-07
  • thinkPHP5框架實現(xiàn)基于ajax的分頁功能示例

    thinkPHP5框架實現(xiàn)基于ajax的分頁功能示例

    這篇文章主要介紹了thinkPHP5框架實現(xiàn)基于ajax的分頁功能,結合實例形式分析了thinkPHP5框架上進行ajax分頁操作的具體步驟、實現(xiàn)代碼與相關操作方法,需要的朋友可以參考下
    2018-06-06

最新評論

明溪县| 轮台县| 都昌县| 阳泉市| 新绛县| 昌黎县| 华宁县| 抚顺市| 茂名市| 靖安县| 乐山市| 成都市| 贵港市| 边坝县| 襄汾县| 高尔夫| 青浦区| 安国市| 北宁市| 西乡县| 巩留县| 子长县| 剑川县| 普格县| 晋江市| 运城市| 东源县| 罗田县| 平遥县| 林芝县| 红安县| 前郭尔| 乐亭县| 固始县| 隆德县| 湟中县| 沂源县| 特克斯县| 西贡区| 西林县| 日土县|