class IModel extends Model
{
protected $tableName = 'user';
protected $_map = array(
'bset' => 'bPrivateSet',
}
protected $_validate = array( //自动验证
array('bPrivateSet',array(1,2,3,4),'请选择正确的选项','0','in'),
}
}
Action类:
public function cMyData()
{
$_POST['bset'] = 1;
$userID = session('userID');
$mydata = D('I');
if($mydata->create($_POST,2))
{
if($mydata->where("userID = '$userID'")->setField($_POST)) echo '123';
else{echo 0;}
}
else
{
echo $mydata->getError();
}
}
}
执行后echo 0;也就是setfield失败,但是$_post['bPrivateSet'] = 1;这样用数据库原始的字段就可以更新。。。。这是什么情况
但是要说字段映射失效,但是在create()的时候加入我设置$_POST['bset'] = 5;(也就是超出验证的范围了),还会提示我错误,选择正确的选项。。。。。求解,卡在这好久了,一直没有解决。求大家看下,多谢了!!!
最佳答案
