예제 #1
0
파일: modelTest.php 프로젝트: cnzin/think
 public function testSave()
 {
     $config = $this->getConfig();
     $order_model = new Model('order', $config);
     $data = ['id' => '1', 'total' => '180.50', 'status' => 1, 'create_time' => time(), 'about' => ''];
     \think\Config::set('db_fields_strict', false);
     $info = $order_model->where(['id' => 1])->map('amount', 'total')->find();
     $flag = $user_id = $order_model->map(['total' => 'amount'])->filter('trim')->save($data);
     $this->assertSame(1, $flag);
     \think\Config::set('db_fields_strict', true);
     $data = ['status' => 1];
     $flag = $order_model->where(['id' => 2])->setField($data);
     $this->assertSame(1, $flag);
     $flag = $order_model->where(['amount' => ['lt', 200]])->setField('freight_fee', 15);
     $this->assertSame(1, $flag);
     $map = ['amount' => ['gt', 300], 'freight_fee' => ['gt', 0]];
     $flag = $order_model->where($map)->setDec('freight_fee', 5, 30);
     $this->assertTrue($flag);
     $flag = $order_model->where($map)->setInc('freight_fee', 5, 30);
     $this->assertTrue($flag);
     $flag = $order_model->where($map)->setDec('freight_fee', 5);
     $this->assertSame(1, $flag);
     $flag = $order_model->where($map)->setInc('freight_fee', 5);
     $this->assertSame(1, $flag);
     $ru_model = new Model('role_user', $config);
     $data = ['user_id' => 1, 'role_id' => 1, 'remark' => 'remark'];
     $info = $ru_model->where(['user_id' => 1])->find();
     $flag = $ru_model->data($data)->save();
     $this->assertSame(1, $flag);
 }