laravel5.6 框架操作数据 Eloquent ORM用法示例

时间:2022-05-09 14:19:17

本文实例讲述了laravel5.6 框架操作数据 Eloquent ORM用法。分享给大家供大家参考,具体如下:

建立Users模型

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
namespace AppModelEloquentAdmin;
use IlluminateDatabaseEloquentModel;
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模型

?
1
use AppModelEloquentAdminUsers;

ORM 查

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//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 增

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//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 改

?
1
2
3
4
5
6
7
8
9
//获取主键id,模型修改数据
$data=Users::find($id);
$data->name ='admin_e';
$data->age =66;
$data->save();
//批量修改
$ret=Users::where('id','>',2)->update(
 ['age'=>33]
);

ORM 删

?
1
2
3
4
5
6
7
8
//获取主键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();

laravel5.6 操作数据查询构建器

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

原文链接:https://www.cnblogs.com/cxx8181602/p/9698929.html