本文实例讲述了laravel5.6 框架操作数据 Eloquent ORM用法。分享给大家供大家参考,具体如下:
建立Users模型
<?php namespace App\Model\Eloquent\Admin; use Illuminate\Database\Eloquent\Model; class Users extends Model { //指定表名 protected $table="users"; //指定id protected $primaryKey="id"; //指定允许批量的字段 protected $fillable=['name','age']; //指定不允许批量赋值的字段 protected $guarded=[]; //连接多数据库配置 默认使用'mysql' protected $connection = 'mysql'; //自动维护时间戳 默认是'true' public $timestamps=true; //返回当前时间的时间戳,进入数据库,输出时,可以输出格式化好的时间 protected function getDateFormat() { return time(); } //设置之后,返回的就是数据表中的时间戳 protected function asDateTime($value) { return $value; } }
引用Users模型
use App\Model\Eloquent\Admin\Users;
ORM 查
//all() 查询所有数据 查询数据为集合 $data=Users::all(); //根据[$id]主键查询 查询一条数据 $data=Users::find($id); //findOrFail() 根据主键查询 如果没有查到 报错 $data=Users::findOrFail($id); //get() 查询所有数据 $data=Users::get(); //first() 查询第一条 $data=Users::where('id','>','1')->orderBy('age','desc')->first(); //chunk() 每次查询指定[$num]条数 Users::chunk($num,function($data){ print_r($data); }); //聚合函数 //count() 统计记录条数 $num = Users::count(); //max() 查询最大值 min() 查询最小值 $max=Users::where('id','>',1)->max('age');
ORM 增
//save() 单增 $data = new Users(); $data->name = 'admin_a'; $data->age = 100; $data->save(); //create() 多增 $ret=Users::create([ 'name'=>'admin_b', 'age'=>200 ]); //firstOrCreate()以属性查询数据 如果没有 新建数据 $ret=Users::firstOrCreate([ 'name'=>'admin_c', 'age'=>300 ]); //firstOrNew() 以属性查询数据 如果没有 新建实例 如果想保存调用save() $ret=Users::firstOrNew([ 'name'=>'admin_d', 'age'=>400 ]); $ret->save();
ORM 改
//获取主键id,模型修改数据 $data=Users::find($id); $data->name ='admin_e'; $data->age =66; $data->save(); //批量修改 $ret=Users::where('id','>',2)->update( ['age'=>33] );
ORM 删
//获取主键id,模型删除单条 $data=Users::find($id); $data->delete(); //通过主键删除多条 $ret=Users::destroy(1,2,3); $ret=Users::destroy([4,5,6]); //删除指定条件 $ret=Users::where('id','>',2)->delete();
内容版权声明:除非注明,否则皆为本站原创文章。