我正在尝试实现for循环以更新时间.
$files = File::model()->findAll('type="A" AND id='.$id);
function files($files,$limit=null){
$limit = isset($limit) ? $limit : count($files);
for($i=0;$i<=$limit;$i++){
$files[$i]->date = date('Y:m:d H:i:s');
$files[$i]->update();
}
}
Run Code Online (Sandbox Code Playgroud)
此函数返回错误undefined offset 1.
findAll方法的结果是什么?它是一个多维记录数组吗?我怎么能修复这个错误?
要设置$limit到count($files),但用$i<=$limit在你的循环.应该是<.
for($i=0; $i<$limit; $i++){
Run Code Online (Sandbox Code Playgroud)
由于外部$limit应用的可能性,您可以使用foreach带有条件的循环break.
foreach($files as $a => $file) {
if($a == $limit) {
break;
}
$file->date = date('Y:m:d H:i:s');
$file->update();
}
Run Code Online (Sandbox Code Playgroud)
请注意,findAll()如果没有limit从该表的数据库中检索所有记录.也许您应该考虑通过添加限制CDbCriteria
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |