如何使用 zend 2 通过单个查询插入多个数据



我正在尝试使用 zend 2 通过单个查询插入多个数据。以下是代码供参考。它没有抛出任何错误,但数据没有入。我从控制器调用"mapOffers",我在其中传递索引数组"$assigned_b"。请帮我解决这个问题。

namespace OffersModel;
use ZendDbAdapterAdapter;
use ZendDbTableGatewayAbstractTableGateway;
use ZendDbSqlSql;
use ZendDbSqlSelect;
use ZendDbSqlWhere;
use ZendDbSqlInsert;
use UtilityUtility;
class OffersTable extends AbstractTableGateway {
protected $table = 'offers';
protected $joinTable = 'organization';
protected $b_offer = 'b_offers';
protected $sql_object,$select_object;

public function __construct(Adapter $adapter) {
$this->adapter = $adapter;
}

public function mapOffers($assigned_b,$offer_id){
$sql = new Sql( $this->adapter );
$delete = $sql->delete($this->beacon_offer)->where("offer_id = $offer_id");
$deleteString = $sql->getSqlStringForSqlObject($delete);
$query = 'INSERT INTO '.$this->offers . ' (`offer_id`, `b_id`) VALUES ';
$queryVals = array();
foreach ($assigned_b as $_bid) {
if($_bid){
$queryVals[] = "(".$offer_id.",".$_bid.")";  
}
}
$stmt = $this->adapter->query($query . implode(',', $queryVals));
}


}

你需要调用 execute 函数。它必须看起来像那样(我自己项目的例子(

$this->adapter->query($query)->execute();

最新更新