Laravel框架Eloquent ORM修改数据操作示例

本文实例讲述了Laravel框架Eloquent ORM修改数据操作。分享给大家供大家参考,具体如下:

这篇文章主要讲述两个知识点

  1. 通过模型更新
  2. 结合查询语句批量更新

NO.1模型更新

在更新之前我先让你们看一下我的数据库

里面共有四条数据,好,那么我们先使用模型更新,更新我的第四条数据,代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm3()
 {
 $student = Student::find(4);
    $student->name = 'ShenNanQiao';//修改值
    $student->save();//保存
 }
}

输出结果如下:

成功修改了四号的name值

NO.2批量修改

在上面那个图里,我觉得那几个名字的人都很老,那么我们要让他们都变成16岁,该怎么做呢?

代码如下:

namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function orm3()
 {
 $num = Student::where('id','>=',1)
 ->update(
  ['age' =>16]
 );
 }
}

结果如下:

你看,是不是都变成16岁了,哈哈哈

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

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

(0)

相关推荐

  • laravel 解决Eloquent ORM的save方法无法插入数据的问题

    学习laravel中: 今天在测试使用Eloquent ORM将数据使用 save()方法插入到mysql中时,出现了错误,如图所示: 在网上查阅资料后找到了原因: 使用save方法新增数据: laravel会默认维护 created_at , updated_at 两个字段,这两个字段都是存储时间戳,整型11位的,因此使用时需要在数据库添加这两个字段.如果不需要这个功能,只需要在模型里加一个属性:public $timestamps=false; 以及一个方法,可以将当前时间戳存到数据库 pr

  • Laravel框架Eloquent ORM删除数据操作示例

    本文实例讲述了Laravel框架Eloquent ORM删除数据操作.分享给大家供大家参考,具体如下: 这篇文章,以下三个知识点希望大家能够掌握 如下: 通过模型删除 通过主键值删除 通过指定条件删除 NO.1模型删除 老样子,我们先新建一个方法,然后输入代码. namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Co

  • laravel 数据迁移与 Eloquent ORM的实现方法

    导语 数据库可以说是后端开发最常用,也是最重要的部分.laravel 提供了很实用的 Eloquent ORM 模型类,简单.直观的与数据库进行交互.同时使用数据迁移管理数据库,可以与团队进行共享以及编辑.二者的更多介绍请查看下方的文档. 以下使用二者进行示例,需求是记录用户浏览记录.请勿将本示例带入实际项目中,本文仅作示例.实际项目根据需求进行记录,以及选择存储方式. 创建数据表 第一步当然是创建数据表了.使用 artisan 命令可以很方便的创建模型以及数据迁移.php artisan ma

  • Laravel 5框架学习之Eloquent (laravel 的ORM)

    我们来生成第一个模型 复制代码 代码如下: php artisan make:model Article #输出 Model created successfully. Created Migration: 2015_03_28_062517_create_articles_table 查看一下生成的文件 app/Article.php <?php namespace App; use Illuminate\Database\Eloquent\Model; class Article exten

  • Laravel Eloquent ORM 多条件查询的例子

    一.需求: 在数据搜索时最常见的就是调用同一个方法查询,而查询的字段却可能是其中一个或其中的几个字段一起组合查询,例如:对列表的搜索,基本上都是几个字段随意组合搜索.那么在model里就需要判断有那个字段组合,怎么组合. 网上找了很久,Laravel群里也问了几个,都说没有写过,于是自己写个吧.话不多说,见代码: function findByParam($param = array()) { $select = new Customer(); if (isset($param['name'])

  • Laravel5.7 Eloquent ORM快速入门详解

    简介 Laravel 内置的 Eloquent ORM 提供了一个美观.简单的与数据库打交道的 ActiveRecord 实现,每张数据表都对应一个与该表进行交互的模型(Model),通过模型类,你可以对数据表进行查询.插入.更新.删除等操作. 在开始之前,确保在 config/database.php 文件中配置好了数据库连接.更多关于数据库配置的信息,请查看文档. 定义模型 我们从创建一个 Eloquent 模型开始,模型类通常位于 app 目录下,你也可以将其放在其他可以被 compose

  • Laravel5.5 数据库迁移:创建表与修改表示例

    数据库迁移是数据库的版本管理,要使用数据库迁移,需要在.env文件中连接好数据库(不多说).laravel本身已经存在user表和password_resets表的迁移了,因此,执行 php artisan migrate 便会在数据库中创建好user表.password_resets表和migrations表.migrations表是版本记录表. 命令执行的其实是 database\migration 下的迁移文件.迁移文件中调用的方法会替我们执行数据库操作(建表).每个文件的命名对应迁移创建

  • Laravel Eloquent ORM 实现查询表中指定的字段

    在使用Laravel ORM的Model方法find, get, first方法获取数据对象时返回的数据对象的attributes属性数组里会包含数据表中所有的字段对应的键值关系, 那么如何在ORM查询时只返回数据表中指定字段的数据呢?很多时候,文档上没有写明的用法需要我们去看源码来探究的,下面我们就来看一下这三个方法的实现. 由于ORM依赖了QueryBuilder来实现查询, 在QueryBuilder的源码里通过查看get,first方法的实现可以到,他们都可以接收一个数组参数来指定要查询

  • Laravel 批量更新多条数据的示例

    引言 最近在写任务中,碰到一个问题,需要批量更新多条数据,但是Laravel没有提供这样的方法,Google了一些方法,刚好借着任务来举例说明一下. 任务要求 任务是一个简单的清除未读通知的API,其实就是把通知表中符合user id 和 is read = 0 的行中的 is_read改为1(0代表未读,1代表已读). 方法1 我首先想到的是利用where()方法查出user id和is read符合条件的notices,然后利用foreach循环和save()更新数据表. $notices

  • Laravel框架学习笔记之批量更新数据功能

    本文实例讲述了Laravel框架批量更新数据功能.分享给大家供大家参考,具体如下: 前言 上周公司的比赛项目以泪奔结束...一台2核4G的VPS完全蹦了..集体被老大叼杠.下个月的比赛又要开始了,所以现在抓紧时间升级服务器,优化代码与SQL,刚看到排名那有1000多条更新语句,太受不了了,所以在google找了下资源,找到了批量更新数据的方法,记录一下. 代码 //from https://github.com/mavinoo/laravelBatch static function batch

  • Laravel框架实现修改登录和注册接口数据返回格式的方法

    本文实例讲述了Laravel框架实现修改登录和注册接口数据返回格式的方法.分享给大家供大家参考,具体如下: 1.背景:需要将所有的数据返回格式统一成retCode/retMsg/data 2.登陆接口: 文件目录:app/Http/Controllers/Auth/LoginController 先写登陆接口是因为修改登录接口比注册接口要简单许多 登录接口中的第一句 use AuthenticatesUsers; 可以进去修改登录验证内容(默认是email+password登录),可以修改 va

随机推荐