判断值是否已经存在
$banji = Db::name('banji')
->where('schoolid', $user['schoolid'])
->where('classname', $classname)
->find();
//看班级名是否存在
if ($banji) {
return error('班级名称已存在');
}
判断值是否为空
if (empty($classname)) {
return error('班级名称不能为空');
}
一个值查是否存在于数组中
$classids = Db::name('banji')
->where('schoolid', $this->user['schoolid'])
->column('classid');
// 判断一个值是否在数组中 in_array
if (!in_array($classid, $classids)) {
return error('编号错误');
exit();
}
column查找 一个字段,判断2者是否相等
$ifcreator = Db::name('banji')
->where('schoolid', $this->user['schoolid'])
->where('classid', $classid)
->column('creator');
if ($ifcreator[0] !== $this->user['openid']) {
return error('您不是创建人!');
exit();
}
查找没有的值用not in
//查找banji中的没有classid编号的 信息
$data = Db::name('banji')
->alias('b')
->join('__USER__ u', 'u.openid=b.creator') //创建者
->field('b.classid,b.classname,b.teachercount,b.studentcount,b.time,u.name')
->where('b.schoolid', $schoolid)
->where('b.classid', 'not in', $classid)
->select();
查不为空
//查找班级里是否有学生
$ifhas = Db::name('banji_account')
->where('schoolid', $this->user['schoolid'])
->where('classid', $classid)
->where('role', 'student')
->select();
if ($ifhas !== []) {
return error('该班级已有学生加入');
exit();
}
修改某一字段的值update / setField
Db::name('banji')
->where('classid', $classid)
// ->update(['classname' => $classname]);
->setField('classname', $classname);
return success('班级名修改成功');
value 某一字段的值
$count = Db::name('banji')
->where('classid', $classid)
->value('teachercount');
Modal模型
$kd = new KaoqinDetails();
$kd->allowField(true)->saveAll($chucount1);
return success('更新完毕');
use app\mini_api\model\KaoqinDetails;
//保存考勤
public function save()
{
$classid = input('post.classid');
$tag = input('post.tag');
//总学生人数
$zcount = Db::name('banji_account')
->where('classid', $classid)
->where('role', 'student')
->count();
//出勤学生人数
$chucount1 = input('post.data');
$chucount1 = json_decode($chucount1, true); //收到的是json字符串
$chuqin_count = 0;
foreach ($chucount1 as $row) {
if ($row['stateid'] == 1) {
$chuqin_count++;
}
}
$account = $this->user['openid'];
$data = [
'openid' => $account,
'classid' => $classid,
'schoolid' => $this->user['schoolid'],
'tag' => $tag,
'count' => $zcount,
'chuqin' => $chuqin_count
];
$kqid = Db::name('kaoqin')->insertGetId($data);
$kd = new KaoqinDetails();
foreach ($chucount1 as &$row) {
$openid1 = Db::name('user')
->where('id', $row['id'])
->field('openid')
->find();
$row['kqid'] = $kqid;
$row['openid'] = $openid1['openid'];
// $row['stateid'] = $stateid;
$row['classid'] = $classid;
unset($row['id']);
}
$kd->allowField(true)->saveAll($chucount1);
return success('保存成功');
}
json
string(45) “[{“id”:72,“stateid”:4},{“id”:73,“stateid”:1}]”
传到后台的是这样的json字符串,而不是数组,要把它变成数组的形式
array(2) { [0]=> array(2) { [“id”]=> int(72) [“stateid”]=> int(4) } [1]=> array(2) { [“id”]=> int(73) [“stateid”]=> int(1) } }
$chucount = input('post.data');
$chucount = json_decode($chucount1, true);