CakePHP';s";saveAll";需要3分钟以上才能保存?
我正在使用CakePHP制作一个应用程序。我做了一个使用CakePHP';s";saveAll";需要3分钟以上才能保存?,php,mysql,cakephp,phpmyadmin,Php,Mysql,Cakephp,Phpmyadmin,我正在使用CakePHP制作一个应用程序。我做了一个使用saveAll函数的操作 我认为它工作得很好,因为它不需要那么多数据,但使用saveAll或其他保存功能保存数据需要3分钟以上 有人发现我的错误吗 phpMyadmin的专栏: id、等级、学校详细信息id、总分、学校名称、, (约有300~400个数据) 将查询从foreach划分为更简单的方法 按描述顺序获得不同的总分 $data = $this->ClubScore->find('all', array('fields'
saveAll
函数的操作
我认为它工作得很好,因为它不需要那么多数据,但使用saveAll
或其他保存功能保存数据需要3分钟以上
有人发现我的错误吗
phpMyadmin的专栏:
id、等级、学校详细信息id、总分、学校名称、,
(约有300~400个数据)
将查询从foreach划分为更简单的方法 按描述顺序获得不同的总分
$data = $this->ClubScore->find('all', array('fields'=>array('DISTINCT total_score'), 'order' => 'total_score DESC'));
然后使用updateAll和foreach将密钥保存为每个总分的排名非常感谢Abhishek和AgRizzo,Nunser!! 现在,我已经完全解决了这个问题。只需要1到2秒 这是源代码 公共职能职级更新(){ 多谢各位。
致以最诚挚的问候。因此,我在您的代码中找不到任何对“saveAll”的引用……您应该利用数据库进行此操作。有许多帖子,例如使用以数据库为中心的解决方案。
$data = $this->ClubScore->find('all', array('fields'=>array('DISTINCT total_score'), 'order' => 'total_score DESC'));
$data = $this->ClubScore->find('all', array('fields'=>array('DISTINCT total_score'), 'order' => 'total_score DESC'));
$check_scores = $this->ClubScore->find('all', array('fields'=>array('id','total_score')));
$check_scores2 = Set::sort($check_scores, "{n}.ClubScore.total_score","DESC");
$ii = 0;
$temp = 0;
foreach($check_scores2 as $scores):
if($data[$ii]['ClubScore']['total_score']
== $scores['ClubScore']['total_score']){
$temp=$ii+1;
}else{
$ii++;
$temp=$ii+1;
}
$update_arr[] = array(
'ClubScore' => array(
'id' => $scores['ClubScore']['id'],
'rank' =>$temp,
)
);
endforeach;
$update_arr = Set::sort($update_arr, "{n}.ClubScore.id","ASC");
var_dump($update_arr);
foreach($update_arr as $update_arrs):
$this->ClubScore->updateAll(
array(
'ClubScore.rank' => $update_arrs['ClubScore']['rank'],
),
array(
'ClubScore.id' => $update_arrs['ClubScore']['id'],
)
);
endforeach;
}