Laravel框架Eloquent ORM新增数据、自定义时间戳及批量赋值用法详解

本文实例讲述了Laravel框架Eloquent ORM新增数据、自定义时间戳及批量赋值用法。分享给大家供大家参考,具体如下:

好了,这篇文章我们主要掌握以下几个知识点

  1. 通过模型新增数据(涉及到自定义时间戳)
  2. 使用模型的Create方法新增数据(涉及到批量赋值)

NO.1通过模型新增数据

我的数据库和上篇文章结尾的数据库样式是一致的,那么我要想在这里面输入一个名字叫做ChenChai,年龄是为17岁。要如何操作呢?
代码如下:

namespace App\Http\Controllers;

use App\Student;

use Illuminate\Support\Facades\DB;

class StudentController extends Controller
{
	public function orm2()
	{
		$student = new Student();
		$student->name='ChenChai';
		$student->age=17;
		$student->save();
	}
}

好,效果如下:

你会发现,这里新增的数据有修改时间和新增时间,那么如果你不想用,手动删除的话,则要去我们最先创造的模型文件里去设置一个属性即可

如下:

然后你再新增,就不会出现了

如果你想获取一个标准的时间,只需要在模型文件下增加一个方法,然后在新增数据那输出即可,如下:

然后我们find10


结果如下:

我这里有个方法没有打上去,所以时间是1970年1月1日,具体什么操作步骤不详细讲述,可百度

NO.2模型Create新增

代码如下:

namespace App\Http\Controllers;

use App\Student;

use Illuminate\Support\Facades\DB;

class StudentController extends Controller
{
	public function orm2()
	{
		$student = Student::create([
			['name'=>'NanQiao','age'=>19]
		]);
		dd($student);
	}
}

然后他肯定是会报错的,为什么?因为他不允许批量增加。那我们要怎么做呢?
只需要在模型文件里增加一个属性
如下:

protected $fillable = ['name','age'];//这里是可以批量赋值的属性

然后结果如下:

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

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

(0)

相关推荐

  • Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解

    本文实例讲述了Laravel框架Eloquent ORM简介.模型建立及查询数据操作.分享给大家供大家参考,具体如下: 注:以下知识点可能有不全面之处,望见谅 NO.1Eloquent ORM简介 Laravel所自带的Eloquent ORM是一个优美.简洁的ActiveRecord实现,用来实现数据库操作 每个数据表都有与之相对应的"模型(Model)"用于和数据交互 NO.2模型的建立 最基础的模型代码如下: namespace App; use Illuminate\Datab

  • 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删除数据操作示例

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

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

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

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

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

  • Laravel框架数据库CURD操作、连贯操作总结

    一.Selects 检索表中的所有行 复制代码 代码如下: $users = DB::table('users')->get(); foreach ($users as $user) { var_dump($user->name); } 从表检索单个行 复制代码 代码如下: $user = DB::table('users')->where('name', 'John')->first(); var_dump($user->name); 检索单个列的行 复制代码 代码如下:

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

    本文实例讲述了Laravel框架Eloquent ORM修改数据操作.分享给大家供大家参考,具体如下: 这篇文章主要讲述两个知识点 通过模型更新 结合查询语句批量更新 NO.1模型更新 在更新之前我先让你们看一下我的数据库 里面共有四条数据,好,那么我们先使用模型更新,更新我的第四条数据,代码如下: namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentCo

  • PHP开发框架Laravel数据库操作方法总结

    一.读/写连接 有时您可能希望使用一个SELECT语句的数据库连接,,另一个用于插入.更新和删除语句.Laravel使这微风,将始终使用正确的连接是否使用原始查询,查询生成器或雄辩的ORM. 如何读/写连接应该配置,让我们看看这个例子: 复制代码 代码如下: 'mysql' => array('read' => array('host' => '192.168.1.1'),'write' => array('host' => '196.168.1.2'),'driver' =

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

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

  • 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

随机推荐