本文整理汇总了PHP中Magento\Framework\DB\Select::insertFromSelect方法的典型用法代码示例。如果您正苦于以下问题:PHP Select::insertFromSelect方法的具体用法?PHP Select::insertFromSelect怎么用?PHP Select::insertFromSelect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\DB\Select
的用法示例。
在下文中一共展示了Select::insertFromSelect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: insertFromSelect
/**
* Insert data from select statement of read adapter to
* destination table related with index adapter
*
* @param Select $select
* @param string $destTable
* @param array $columns
* @param bool $readToIndex data migration direction (true - read=>index, false - index=>read)
* @return $this
*/
public function insertFromSelect($select, $destTable, array $columns, $readToIndex = true)
{
if ($readToIndex) {
$from = $this->_getWriteAdapter();
$to = $this->_getIndexAdapter();
} else {
$from = $this->_getIndexAdapter();
$to = $this->_getWriteAdapter();
}
if ($from === $to) {
$query = $select->insertFromSelect($destTable, $columns);
$to->query($query);
} else {
$stmt = $from->query($select);
$data = [];
$counter = 0;
while ($row = $stmt->fetch(\PDO::FETCH_NUM)) {
$data[] = $row;
$counter++;
if ($counter > 2000) {
$to->insertArray($destTable, $columns, $data);
$data = [];
$counter = 0;
}
}
if (!empty($data)) {
$to->insertArray($destTable, $columns, $data);
}
}
return $this;
}