php – 将数组数据分配给Yii中的模型属性
发布时间:2020-12-13 17:08:02 所属栏目:PHP教程 来源:网络整理
导读:我正在研究一种激活新成员的方法.我收到以下错误: 未定义的偏移量:1 错误发生在包含以下内容的行上: $模型 – 用户名= $数据[1]; 有没有Yii方法让这项工作更好? 我是php,oop和Yii的新手,所以任何帮助都会非常感激! 该方法基本上从用户获取get请求. get
我正在研究一种激活新成员的方法.我收到以下错误:
未定义的偏移量:1 错误发生在包含以下内容的行上: $模型 – >用户名= $数据[1]; 有没有Yii方法让这项工作更好? 我是php,oop和Yii的新手,所以任何帮助都会非常感激! 该方法基本上从用户获取get请求. get运行此方法并包含用于验证其帐户的密钥.验证存储在与密钥同名的文件中.文件内部是一个以管道分隔的行,其中包含日期,用户名,电子邮件,salt和密码哈希.在读取文件并在管道上爆炸数据后,我需要将数据分配给模型,然后将其保存到数据库中. ... $model=new Users; $model->activation_key=$_GET['key']; $path_to_validation_files = Yii::app()->basePath."/data/new_member_validations"; $validation_file = $path_to_validation_files . "/".$model->activation_key.".dat"; if(is_readable($validation_file) && !empty($validation_file)) { if($fp = fopen($validation_file,'r')) { while(!feof($fp)) { $line = fread($fp,filesize($validation_file)); } fclose($fp); $data = explode('|',$line); if(!empty($data)){ $model->username=$data[1]; $model->email=$data[2]; $model->salt=$data[3]; $model->password=$data[4]; } else { throw new CHttpException(500,'Validation file contained no data.'); } } else { throw new CHttpException(500,'Cannot open validation file.'); } } else { throw new CHttpException(404,'Validation file not found,not readable,or empty.'); } ... 解决方法
您可以使用CActiveRecord类的attributes属性来加载关联数组.
例如,假设您有一个具有属性foo和bar的模型,并且您有一个数组数据(‘foo’=> 1,’bar’= 2) 您可以设置$myModel-> attributes = data,它将遍历数组并将属性分配给模型(但仅当这些属性具有验证规则时) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |