TP5 model的sql操作基本使用

1. 首先 需要在模块model文件夹里添加与你数据表一致的类文件,不需要写什么方法

 

2. 在控制器文件里建立userModel 方法,并引入model类文件,即可使用,与3.2版本不同的是,TP5有自带的操作方法直接就可以使用,不需要写太多的sql语句

  User::get(1);   查询主键 id =1 的数据信息  echo $user->mobile;   \ArrayAccess 接口,可以将对象像数组一样来访问  Users::get(['mobile'=>'13554784574','email'=>'511482696@qq.com']);不根据默认主键查询

  User::getByName('123');  根据条件查询  单个查询

  User::All();  全部查询 User::All(['id'=>'1']); 根据条件全部查  

   Users::where('mobile','13554784574')->find();  也可以这样写

更新数据

  save()方法 在查询出来的数据中进行更新 $user = User::get(1); $user->mobile   = '987654321';  $user->save()

  $users->isUpdate(false)->save();这个操作  是更新时 不更新主键值  (从百度问题上看到一些问题 在进行数据库操作时,每一次的操作都需要进行一次模型对象实例化 不然主键值也会改变,但是每次操作更新啥的操作 都要实例化一次模型类 , 那么 这个方法 确是有点鸡肋(个人看法),当然也看到一个大神给出的解决方案

  1. //假设主键为:id
  2. $affected = $model -> allowField(true) 
  3.                    -> setAttr('id',null) 
  4.                    -> isUpdate(false) 
  5.                    -> save();

);没测试过!!

   $res['mobile'] = '123456798';  User::update($res,['user_id'=>1]);   自己定义的的更新id = 1 的数据

插入操作

  $res['name'] = '222';

  $result  = User::create($res); 单条插入  ====  $user = new User; $user->name="123"; $user->save();可以直接使用(字段不存在时 报错)

  批量插入\ 

  $list = [
    ['email' => 'zh', 'mobile' => '123789'],
     ['email' => '123.com', 'mobile' => '94321'],
   ]  或者$list = array(array('name'=>'qweqwe'),array('name'=>'hfks'));

  $user->saveAll($list);

删除操作 

  $user = Users::get(23);
  $user->delete();或者Users::destroy(23); 

 

  

  

  

 

  

  

posted @ 2017-07-05 18:15  迷失在路上  阅读(1167)  评论(0编辑  收藏  举报