安装:composer require jdavidbakr/replaceable-model 在模型里引入: class model extends Model { ... use \jdavidbakr\ReplaceableModel\ReplaceableModel; ... } 调用: self::replace($inserts); // 不存在则插入,存在则删除存在行,再次插入 self::insertIgnore($inserts); //  存在则忽略,不存在则插入(存在数据…
使用laravel的Eloquent模型获取数据库的指定列   使用Laravel的ORM——Eloquent时,时常遇到的一个操作是取模型中的其中一些属性,对应的就是在数据库中取表的特定列. 如果使用DB门面写查询构造器,那只需要链式调用select()方法即可: $users = DB::table('users')->select('name', 'email as user_email')->get(); 使用Eloquent的话,有两种方式: 1. 使用select() $users…
所有支持的模型事件 在 Eloquent 模型类上进行查询.插入.更新.删除操作时,会触发相应的模型事件,不管你有没有监听它们.这些事件包括: retrieved 获取到模型实例后触发 creating 插入到数据库前触发 created 插入到数据库后触发 updating 更新到数据库前触发 updated 更新到数据库后触发 saving 保存到数据库前触发(插入/更新之前,无论插入还是更新都会触发) saved 保存到数据库后触发(插入/更新之后,无论插入还是更新都会触发) deleti…
Eloquent 模型 默认继承use Illuminate\Database\Eloquent\Model类. 数据表名称与模型名称约定: 数据库的表名一般使用“蛇形命名法”命名.蛇形命名法要求单词小写,单词之间用_下划线连接,且名称是复数. 与之对应的模型名称,则使用“帕斯卡法“命名,即单词头一字母都大写. 如果不是按以上约定,则需指明对应的数据表: class Flight extends Model { /** * 与模型关联的数据表 * * @var string */ protect…
近期才发现mysql的插入语句竟然有如此多的使用方法,这里拿来分享一下. ①关于insert into : insert into table_name values(); insert into table_name (column) values (); insert into table_name values(select (column) from table_name2); 这里的插入仅仅须要注意一点的就是: 假设发生主键冲突,(也就是插入的主键已经在表中存在时),系统报错. ②re…
php artisan tinker 新建一个模型对象 $post=new \App\Posts(); 给对象的属性挨个赋值 $post->title="this is title"; $post->content="this is content"; 保存 $post->save() 如果返回true就是成功! 给laravel的默认时区改成上海 'timezone' => 'Asia/Shanghai',…
laravel的 Eloquent 模型其实就是我们平时说的MVC里Model,只是换了个名字而已~ 1)Eloquent 是啥? Eloquent 本质就一个查询构建器(laravel里叫查询构建器,想上面所说的一样,它其实就是一个Model),所以它使用查询构建器的所以方法, 如果你不知道laravel查询构建器都有些什么方法,看这里:http://www.cnblogs.com/tujia/p/6292832.html 2)Eloquent 怎么用? 1.创建一个Eloquent 模型(生…
以前从来没有接触过replace into这个语法,但是却看到很多人都在使用这个语法,并且应用在很多生产环境中,于是我也去学习了一下repalce into的用法. 关于replace 一句话:正常情况下表中有PRIMARY KEY或UNIQUE索引,新数据会替换老的数据.没有老数据则insert该数据. REPLACE的运行与INSERT很相像.只有一点除外,如果表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除.使用…
简介 其实大家都知道,数据表之间都是可以关联的,前面讲过了,Eloquent ORM是数据模型操作代替表操作,那么表的关联查询,在Eloquent这里也就是模型间的关联查询,这就是本章的主要内容: Eloquent一个支持以下6种表间关系: One To One(一对一) One To Many(一对多) Many To Many(多对多) Has Many Through(跨表一对多) Polymorphic Relations(belongsTo多态) Many To Many Polymo…
全局作用域 所谓「全局作用域」,指的是预置过滤器在注册该「全局作用域」的模型类的所有查询中生效,不需要指定任何额外条件. 以 User 模型类为例,我们在系统中可能只想针对已经验证过邮箱的用户进行操作,在没有介绍「作用域」之前,可能你会在应用中到处编写这样的代码: $users = User::whereNotNull('email_verified_at')->... 通过全局作用域类实现 要实现「全局作用域」,首先需要编写一个实现 Illuminate\Database\Eloquent\S…