本文实例讲述了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 ();
|
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/cxx8181602/p/9698929.html