• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Laravel5.1 框架模型创建与使用方法实例分析

    本文实例讲述了Laravel5.1 框架模型创建与使用方法。分享给大家供大家参考,具体如下:

    Laravel的模型也是访问数据库的,它更加面向对象,一个模型对应着一张表 我们可以使用模型对数据做一些增删改查的操作。

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

    先写这么多,下一篇说下Model的删除功能。

    更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • 在laravel中实现ORM模型使用第二个数据库设置
    • 使用laravel的Eloquent模型如何获取数据库的指定列
    • Laravel5.1 框架关联模型之后操作实例分析
    • Laravel5.1 框架模型多态关联用法实例分析
    • Laravel5.1 框架模型远层一对多关系实例分析
    • Laravel5.1 框架模型一对一关系实现与使用方法实例分析
    • Laravel5.1 框架模型查询作用域定义与用法实例分析
    • Laravel5.1 框架模型软删除操作实例分析
    • Laravel框架视图和模型操作方法分析
    • Laravel 5框架学习之模型、控制器、视图基础流程
    • laravel学习教程之关联模型
    • laravel框架模型和数据库基础操作实例详解
    上一篇:Laravel5.1 框架数据库查询构建器用法实例详解
    下一篇:详解Laravel5.6通过路由进行API版本控制的简单方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Laravel5.1 框架模型创建与使用方法实例分析 Laravel5.1,框架,模型,创建,