本文实例讲述了laravel5.1 框架模型创建与使用方法。分享给大家供大家参考,具体如下:
laravel的模型也是访问数据库的,它更加面向对象,一个模型对应着一张表 我们可以使用模型对数据做一些增删改查的操作。
创建模型是可以使用artisan控制台的:
php artisan make:model article
一般我比较喜欢连带着migration一起生成:
php artisan make:model 青马班心得体会article -m
↑ 执行了上面的artisan命令后 我们就可以在 /app 下找到我们刚刚创建的模型了,顺便也生成好了migration。
一个model对应一个表,model对应的表名默认是model名字的复数 即:article(model)对应articles(table),ur(model)对应urs(table)。
当然 如果你的model不想用这种默认方式 也可以自定义:
class article extends model{ protected $table = 'k_articles';}
model的主键默认是id,你也可以自定义:
class article extends model{ protected $primarykey = 'article_id';}
在咱的数据表之中 有create_at 和 update_at 两个时间戳 是laravel自动管理的,如果你不想要自动管理这两个列 可以这样做:
class article extends model{ public $timestamps = fal;}
当我们用到批量创建和批量修改时 必须声明黑名单或白名单,在白名单中的属性是可以填充的属性,在黑名单中的属性是不允许被填充的属性:
class articno2是什么意思le extends model{ protected $fillable = ['title', 'body'];}
注意:不知道怎么用没关系,3.2我们就会说批量创建。
创建模型有两种方法,第一种就是普通的创建,第二种是批量创建。
普通创建就是新建一个模型:
public function getcreatearticle() { $article = new article(); $article->title = 'one'; $article->body = 'learn laravel model'; $article->save(); }
批量赋值就是使用create方法来生成一个model并返回这个新插入的model,在你使用create前必须检查model中是否声明了黑名单或白名单:
class article extends model{ protected艾青之子 $fillabl小班个人总结e = ['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并没有被填充,原因是:它不在白名单中 或者 它在黑名单中。
更新跟插入很像,也有两种方法 普通的 和 批量的。
public function getupdatearticle() { $article = article::find(1); $article->title = 'article_one'; $article->save(); }
public function getupdatearticle() { $article = article::find(3); $article->update(['title' => 'three', 'body' => 'third']); }
其实model的查找跟之前我们学过的构建器很像。
public function getindex() { $articles = article::all(); foreach ($articles as $article) {僵卧孤村不自哀 echo $article->title . '<br />'; echo $article->body . '<br />'; } }
使用find 通过主键查找:
public function getindex() { $article = article::find(1); dd($article->body); }
我们也可以判断是否取到了model:
public function getindex() { $article = article::find(2); if (!ist($article)){ abort(404,'not found'); } dd($article); }
当未取到值是自动报错 应对这种场景 也可以使用findorfail:
public function getindex() { $article = article::findorfail(2); dd($article); }
这就是和构建器相似的地方,你可以像约束构建器一样约束它 这里就不多说了 给了例子吧:
public function getindex() { $article = article::where('id','>',2)->orderby('comment_count','desc')->lists('title')->toarray(); dd($article); }
先写这么多,下一篇说下model的删除功能。
本文发布于:2023-04-08 03:47:46,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/58456b6f5d70f7edf2c524f5639d05e2.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Laravel5.1 框架模型创建与使用方法实例分析.doc
本文 PDF 下载地址:Laravel5.1 框架模型创建与使用方法实例分析.pdf
留言与评论(共有 0 条评论) |