TP5使用模型操作数据库

1.查询

#使用get()来获取数据

$res=Player::get(1);//get方法传递参数值

$res=Player::get(function ($query){//get嵌套方法传递函数
    $query->where("p_name","=","球员0")
        ->field("p_id,p_name");
});


#使用where()来获取数据

$res=Player::where("p_id",2)
    ->field('p_id,p_name')
    ->find();

$res=Player::where("p_id","<",3)
        ->field("p_id,p_name")
        ->select();

foreach ($res as $val){
    dump($val->toArray());
}

#使用all()来获取多项数据

$res=Player::all("1,2,3");
foreach ($res as $val){
    dump($val->toArray());
}

$res=Player::all([3,4,5]);
foreach ($res as $val){
    dump($val->toArray());
}

$res=Player::all(function ($query){//传递闭包函数来组成条件
    $query->where("p_id","<",3)
        ->field("p_id,p_name");
});
foreach ($res as $val){
    dump($val->toArray());
}

#获取某个字段的值

$res=Player::where("p_id","=",2)->value('p_name');

#获取一列的数据

$res=Player::column("p_name","p_id");

2.新增

 #使用create函数
#返回model对象,需转换为数组

$res=Player::create([
    'p_name'=>'curry',
    'p_password'=>'456654f'
],['p_name']);//[]默认只添加项
dump($res->p_id);

#使用save()函数,创建实例化对象,allowField=true,自动过滤掉不存在的字段,()里面填默认的只添加项
#返回影响行数

$playerModel=new Player;
$res=$playerModel->allowField(true)->save([
     'p_name' =>'iverson',
     'p_password'=>'feilleia',
     'demo'=>'demo'
]);
$this->model=model('模板名');

$res=$this->model->save($params)

 

 #saveAll()添加多项数据
#返回model对象,需转换为数组

$playerModel=new Player;
$res=$playerModel->saveAll([
     [
         'p_name' =>'RayAllen',
         'p_password'=>'Boston34',
     ],
     [
         'p_name' =>'Garrnet',
         'p_password'=>'Boston21',
     ]
]);
foreach ($res as $val){
     dump($val->toArray());
}

3.更新

 #update()更新一些简单的数据时会用到(不能返回更新成功的信息)

$res=Player::update([
     'p_id'  =>1,
     'p_name'=>"kobe"
]);

 #第二个参数支持一个数组,用来指定条件

$res=Player::update([
     'p_name'=>"kobe"
],['p_id'=>2]);

 #第二个参数还可以支持一个函数,用来指定条件

$res=Player::update([
     'p_password'=>md5("654123da")
],function ($query){
     $query->where("p_id","<=",5);
});

 #where方法,返回影响行数

$res=Player::where("p_name","EQ","kobe")
     ->update([
         "p_name"=>"paul"
     ]);

 #方法3

$playerModel=Player::get(1);
$playerModel->p_name='curry';
//......添加多个属性
$res=$playerModel->save();

 #创建实例化对象,通过对象调用save(),第二个参数指定条件

$playerModel=new Player;
$res=$playerModel->save([
     'p_name'=>"zhangzgang",
],['p_id'=>5]);

 #创建实例化对象,通过对象调用save(),第二个参数为函数

$playerModel=new Player;
$res=$playerModel->save([
    'p_name'=>"guangdang"
],function ($query){
    $query->where("p_id",">",5);
});

 #批量更新数据(不能返回更新成功的信息)

$playerModel=new Player;
$res=$playerModel->saveAll([
     ['p_id'=>1,'p_name'=>"1"],
     ['p_id'=>2,'p_name'=>"2"],
     ['p_id'=>3,'p_name'=>"3"]
]);

4.删除

#删除destroy(),返回影响记录的条数

$res=Player::destroy(1);

 #传递数组绑定条件,返回影响记录的条数

$res=Player::destroy(['p_id'=>2]);

 #传递函数,返回影响记录的条数

 $res=Player::destroy(function ($query){
     $query->where('p_id','>',5);
});

 #使用对象模型,返回影响记录的条数

$playerModel=Player::get(4);
$res=$playerModel->delete();

 #使用where()返回影响记录的条数,where()条件恒等的话,默认选择全部对象删除

$res=Player::where('p_id','EQ',3)
     ->delete();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值