控制器的写
$date=yii::$app->request->get('date');
if(isset($date)){ $user_id=1; $model=new SignIn(); if(!$model->show($user_id,$date)){ $dated=$date-3600*24; $yesterday=$model->show($user_id,$dated); $sign_num=!empty($yesterday)?$yesterday[0]['sign_num']:0; if($sign_num+1==5){ $data=['user_id'=>$user_id,'sign_date'=>intval($date),'sign'=>1]; }else{ $data=['user_id'=>$user_id,'sign_date'=>intval($date),'sign'=>1,'sign_num'=>$sign_num+1]; } if($model->add($data)){ $model->sign_total($data['user_id']); return "<script>alert('签到成功');location.href='".URl::to(['sign-in/sign'])."';</script>"; } }else{ return "<script>alert('今天已签到');location.href='".URl::to(['sign-in/sign'])."'</script>"; }// $data=['user_id'=>1,'sign_date'=>$date];//// $model->sign($data); }else{ return $this->render('sign');}
model层的一些写法
class SignIn extends /yii/db/ActiveRecord{ public function sign_total($userId){ $sql='update user set sign_total=sign_total+10 WHERE id='.$userId; return Yii::$app->db->createCommand($sql)->query(); } public function add($data){ $value=''; foreach($data as $val){ $value.=",'$val'"; } $k=''; foreach($data as $key=>$val){ $k.=",$key"; } $value=substr($value,1); $k=substr($k,1); return Yii::$app->db->createCommand("insert into sign_in($k) VALUES($value)")->query(); } public function show($id,$dated){ return $rows = (new /yii/db/Query())->from('sign_in') ->where(['user_id' => $id]) ->andWhere(['sign_date'=>$dated]) ->all(); }
新闻热点
疑难解答
图片精选