时间:2021-05-26
本文实例讲述了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),User(Model)对应Users(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 = false;}当我们用到批量创建和批量修改时 必须声明黑名单或白名单,在白名单中的属性是可以填充的属性,在黑名单中的属性是不允许被填充的属性:
class Article 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 $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并没有被填充,原因是:它不在白名单中 或者 它在黑名单中。
更新跟插入很像,也有两种方法 普通的 和 批量的。
其实Model的查找跟之前我们学过的构建器很像。
使用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); }这就是和构建器相似的地方,你可以像约束构建器一样约束它 这里就不多说了 给了例子吧:
public function getIndex() { $article = Article::where('id','>',2)->orderBy('comment_count','desc')->lists('title')->toArray(); dd($article); }先写这么多,下一篇说下Model的删除功能。
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Laravel5.1框架模型一对一关系实现与使用方法。分享给大家供大家参考,具体如下:这篇文章主要记录模型的一对一关系,关联关系是Model的一种
本文实例讲述了Laravel5.1框架模型工厂ModelFactory用法。分享给大家供大家参考,具体如下:今天要说的是模型工厂,它是可以快速生成一些测试数据的
本文实例讲述了laravel5.1框架基础之Blade模板继承简单使用方法。分享给大家供大家参考,具体如下:模板继承什么用?自然是增强基础页面的复用,有利于页面
本文实例讲述了Laravel5.1框架模型查询作用域定义与用法。分享给大家供大家参考,具体如下:所谓的查询作用域就是允许你自定义一个查询语句把它封装成一个方法。
本文实例讲述了laravel5.1框架下的批量赋值实现方法。分享给大家供大家参考,具体如下:官方中文文档在这里:http://laravel-china.org