我试图实施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();
}
}
此函数返回错误undefined offset 1
。
findAll方法的结果是什么?它是一个多维记录数组吗?我怎么能修复这个错误?
答案 0 :(得分:5)
您将$limit
设置为count($files)
,但在循环中使用$i<=$limit
。应改为<
。
for($i=0; $i<$limit; $i++){
由于可能会应用外部$limit
,因此您可以使用带有条件foreach
的{{1}}循环。
break
请注意,foreach($files as $a => $file) {
if($a == $limit) {
break;
}
$file->date = date('Y:m:d H:i:s');
$file->update();
}
没有findAll()
检索该表的数据库中的所有记录。也许您应该考虑通过CDbCriteria