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

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

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

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

Laravel的模型也是訪問(wèn)數(shù)據(jù)庫(kù)的,它更加面向?qū)ο螅粋€(gè)模型對(duì)應(yīng)著一張表 我們可以使用模型對(duì)數(shù)據(jù)做一些增刪改查的操作。

1 創(chuàng)建模型

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

php artisan make:model Article

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

php artisan make:model Article -m

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

2 模型常用屬性

2.1 自定義表名

一個(gè)model對(duì)應(yīng)一個(gè)表,model對(duì)應(yīng)的表名默認(rèn)是model名字的復(fù)數(shù) 即:Article(Model)對(duì)應(yīng)Articles(Table),User(Model)對(duì)應(yīng)Users(Table)。

當(dāng)然 如果你的Model不想用這種默認(rèn)方式 也可以自定義:

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

2.2 自定義主鍵

Model的主鍵默認(rèn)是id,你也可以自定義:

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

2.3 時(shí)間戳

在咱的數(shù)據(jù)表之中 有create_at 和 update_at 兩個(gè)時(shí)間戳 是Laravel自動(dòng)管理的,如果你不想要自動(dòng)管理這兩個(gè)列 可以這樣做:

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

2.4 白名單和黑名單

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

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

注意:不知道怎么用沒(méi)關(guān)系,3.2我們就會(huì)說(shuō)批量創(chuàng)建。

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

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

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

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

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

3.2 批量創(chuàng)建

批量賦值就是使用create方法來(lái)生成一個(gè)model并返回這個(gè)新插入的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)建模型,有個(gè)細(xì)節(jié)哈 我們?cè)趂illable中沒(méi)有添加comment_count 但是create方法中的數(shù)組有comment_count的鍵值。。。結(jié)果呢 comment_count并沒(méi)有被填充,原因是:它不在白名單中 或者 它在黑名單中。

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 查找

其實(shí)Model的查找跟之前我們學(xué)過(guò)的構(gòu)建器很像。

5.1 獲取全部的模型

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

5.2 獲取單個(gè)模型

使用find 通過(guò)主鍵查找:

  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);
  }

當(dāng)未取到值是自動(dòng)報(bào)錯(cuò) 應(yīng)對(duì)這種場(chǎng)景 也可以使用findOrFail:

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

5.3 通過(guò)約束獲取模型

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

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

先寫(xiě)這么多,下一篇說(shuō)下Model的刪除功能。

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

日喀则市| 丹江口市| 玉环县| 徐闻县| 德江县| 汝城县| 湄潭县| 石渠县| 沂水县| 临沭县| 肇州县| 乐平市| 通辽市| 元谋县| 梅河口市| 麟游县| 施秉县| 福建省| 谢通门县| 萝北县| 沁阳市| 宽甸| 精河县| 邛崃市| 昂仁县| 鹤山市| 班戈县| 白沙| 望江县| 石首市| 香格里拉县| 高安市| 水城县| 武宁县| 阿荣旗| 南溪县| 万宁市| 博乐市| 广元市| 吴江市| 山西省|