13、ThinkPhP5 :模型和关联-下

1、批量新增用户数据

    	$user = new Users();
    	$list = [
    			['nickname' => '张三', 'email' => 'zhanghsan@qq.com', 'birthday' => strtotime('1988-01-15')],
    			['nickname' => '李四', 'email' => 'lisi@qq.com', 'birthday' => strtotime('1990-09-19')],
    	];
    	if ($user->saveAll($list)) {
    		return '用户批量新增成功';
    	} else {
    		return $user->getError();
    	}
    	//INSERT INTO `tp_users` (`nickname` , `email` , `birthday`) VALUES ('张三' , 'zhanghsan@qq.com' , 569174400)
    	//INSERT INTO `tp_users` (`nickname` , `email` , `birthday`) VALUES ('李四' , 'lisi@qq.com' , 653673600) 

2、查询数据

    	//查询数据
    	$user = Users::get(2);
    	echo $user->mobile.'<br>';
    	echo $user->email.'<br>';
    	//SELECT * FROM `tp_users` WHERE `user_id` = 2 LIMIT 1 
    	//回为实现了\ArrayAccess接口,可以将对象像数组一样访问
    	echo $user['mobile'].'<br>';
    	echo $user['email'].'<br>';

3、更新用户数据

     	// 更新用户数据
     	$user           = Users::get(3);
    	$user->nickname = '刘晨';
    	$user->email    = 'liu21st@gmail.com';
    	if (false !== $user->save()) {
    		return '更新用户成功';
    	} else {
    		return $user->getError();
    	}  
    	//UPDATE `tp_users` SET `email`='liu21st@gmail.com',`nickname`='刘晨' WHERE `user_id` = 3 

4、根据某个条件查询数据 getByXxxx() 方法 字段   getByXxxx() 方法 Xxxx 可以任意数据表有的字段

    	//根据某个条件查询数据 getByXxxx() 方法 字段   getByXxxx() 方法 Xxxx 可以任意数据表有的字段
    	$user = Users::getByMobile('2345660');
    	echo $user['mobile'];
    	echo "<br/>";
    	echo $user['email'];

5、如果不是根据主建查询, 可以传入数组作为查寻条件(单条数据) 

    	//如果不是根据主建查询, 可以传入数组作为查寻条件(单条数据)
    	$user = Users::get(['mobile'=>'2345660','email'=>'12346@qq.com']);
    	//SELECT * FROM `tp_users` WHERE `mobile` = '2345660' AND `email` = '12346@qq.com' LIMIT 1 
    	$user = Users::where('mobile','2345660')->find();
    	//SELECT * FROM `tp_users` WHERE `mobile` = '2345660' LIMIT 1
    	$user = Users::where(['mobile'=>'2345660','email'=>'12346@qq.com'])->find(); //传->select()也可以的。
    	//ELECT * FROM `tp_users` WHERE `mobile` = '2345660' AND `email` = '12346@qq.com' LIMIT 1
    	echo $user['mobile'].'<br>';
    	echo $user['email'].'<br>';

6、如果要查询多个数据,可以使用模型的all方法

    	//如果要查询多个数据,可以使用模型的all方法
    	$list = Users::all();
    	//SELECT * FROM `tp_users`
    	$list = Users::all(['user_id'=>4]);
    	//SELECT * FROM `tp_users` WHERE `user_id` = 4 
    	$list = Users::where('user_id','>=',4)->select();
    	//SELECT * FROM `tp_users` WHERE `user_id` >= 4 
    	foreach ($list as $v){
    		echo 'user_id'.$v->user_id;
    		echo '===用户名为:'.$v->nickname;
    		echo '<br>';
    	}

7、对于数据库查询出来的数据更新数据

        $user  = Users::get(1);
        $user->mobile = '98756212';
        $user->email = 'hello@qq.com';
        
        if(false !== $user->save()){ //$user->user_id = null; $user->isUpdate(false)->save(); 是不更新,这里的意思是不是更新而是插入一条新的数据
            return '更新用户成功!';
        }else{
            return $user->getError();
        }
        //UPDATE `tp_users` SET `email`='hello@qq.com',`mobile`='98756212' WHERE `user_id` = 1

8、 自定义数据更新操作 不重数据库拿出记录,直接更新

        $userArr['mobile'] = '123123123';
        $userArr['email'] = '234234@qq.com';
        Users::update($userArr,['user_id' =>1]);
        //UPDATE `tp_users` SET `mobile`='123123123',`email`='234234@qq.com' WHERE `user_id` = 1 

9、删除操作

        //删除操作
        $user = Users::get(40);
        $user->delete();
        //DELETE FROM `tp_users` WHERE `user_id` = 40
        Users::destroy(5);
        //SELECT * FROM `tp_users` WHERE `user_id` = 5

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值