zoukankan      html  css  js  c++  java
  • Laravel5.1 模型--创建与修改

    上次我们了解了如何查询模型数据,今天我们来看看如何创建一个模型,

    使用save创建模型

    save方法很简单,看一个例子就明白了:

        // 创建一个模型
        $article = new AppModelsArticle();
    
        // 设置模型的值
        $article->title = '标题';
        $article->id = 60;
        $article->content = '一些内容';
        $article->author = 'larger K';
    
        if ($article->save()){
            echo '添加成功';
        }else{
            echo '添加失败';
        }

    这样就可以创建一个模型 并把数据插入了数据库中,save方法也可以接受一个关联数组,再次就不做演示了。

    批量赋值--create方法

    这是我们最常使用的一种方法,因为它相比较于save更加简洁方便,create方法是批量赋值的,如果要使用批量赋值 需要在模型中声明白名单(fillable)或黑名单(guarded),当然 我们可以只声明白名单或只声明黑名单即可,因为非黑即白。

    • fillable数组:声明有哪些属性是可以批量赋值的。
    • guarded数组:声明哪些数组是不可以批量赋值的。
    class Article extends Model
    {
        // 声明哪些属性是可以批量赋值的
        protected $fillable = ['title','content','author'];
    }

    如果我们在某种情况下不得不修改白名单以外(即黑名单)的属性 那怎么办呢? 这时我们只能使用save方法了。

    下面我们来模拟一个环境,我们需要接受html表单提交过来的数据 并创建模型 插入数据库:

        public function store(Request $request)
        {
            // 表单数据都在 Request中 关于Request以后会普及到
            Article::create($request->all());
        }

    上面的例子只需要一行代码就可以完成插入工作。

    使用save进行更新数据

    save方法不仅仅可以插入数据,也可以更新数据:

        // 首先通过id查找数据
        $article = AppModelsArticle::findOrFail(60);
    
        // 设置要更新的值
        $article->title = '新的标题';
        $article->id = 21;
        $article->content = '新的内容';
        $article->author = 'ASK';
    
        if ($article->save()){
            echo '更新成功';
        }else{
            echo '更新失败';
        }

    批量赋值--update

    相对应create而言,另一个批量赋值是专门用来更新的方法:update,update也是批量赋值方法 需要注意白名单和黑名单

        public function update(Request $request, $id)
        {
            // 获取模型数据
            $article = Article::findOrFail($id);
            $article->update($request->all());
        }

    更加简洁。

  • 相关阅读:
    JS(react)里面Json、String、Map、Object之间的转换
    react里面的几个内容
    object.assign的理解
    buffers与cached的区别
    vncserver错误
    Ubuntu可视化jupyter notebook
    ubuntu可视化桌面安装问题
    素数序列的生成及其应用 Version 2.2
    demo14-修改标签里面的属性
    demo13-修改元素的内容
  • 原文地址:https://www.cnblogs.com/Alex-sk/p/6501161.html
Copyright © 2011-2022 走看看