我正在开发基于 Zend Framework v1.12 的电子商店,我需要创建一个包含数千条记录的产品列表解析器。我试图做一个循环,createRow() -> save()
但我发现大列表太慢了。
Zend fr。有在一个查询中保存多条记录的功能吗?
我正在开发基于 Zend Framework v1.12 的电子商店,我需要创建一个包含数千条记录的产品列表解析器。我试图做一个循环,createRow() -> save()
但我发现大列表太慢了。
Zend fr。有在一个查询中保存多条记录的功能吗?
不,Zend Framework v1 没有这样的功能。但是根据您的需要实现 INSERT INTO 并不难。这是我的功能:
/**
* @brief Safe implementation of INSERT INTO
*
* @param [in] $array Array[] of values 'column'=>'value"
* @return void
*
*/
protected function saveRows($array) {
$values=$columns = array();
$vLabels=$cLables = '';
foreach ($array as $colval) {
$vLabels.="(";
foreach ($colval as $column=>$value) {
if (!$ready) {
array_push($columns,$column);
$cLables.='?,';
}
array_push($values,$value);
$vLabels.='?,';
}
$vLabels = rtrim($vLabels,', ');
!$ready ? $cLables = rtrim($cLables,', ') : null;
$vLabels .= "),";
$ready = true;
}
$vLabels = rtrim($vLabels,', ');
$query="INSERT INTO `".$this->primary_key."` (".$cLables.") VALUES ".$vLabels;
$subst=array_merge($columns,$values);
$this->query($query,$subst);
}