And*_*erj 4 oracle iteration native doctrine-orm
我正在编写一个小小的迁移脚本,我只是尝试更新一个元素的一个属性.我需要的结果在本地环境中没有表示,所以我需要的是一个非常简单的SQL(这里是Oracle)处理程序,我可以迭代并返回一个数组.
这可能与学说有关吗?
即我想要这样做:
$query = "SELECT t2.status FROM t2 LEFT JOIN t1 ON t1.id = t2.foreinkey";
$iterator = $connection->execute($query)->iterate();
foreach ($iterator as $array) {
// do something with an associative array
}
Run Code Online (Sandbox Code Playgroud)
更新/解决方案:通过Corbin的提示,我想出了这个解决方案,效果非常好:
$query = "SELECT t2.status FROM t2 LEFT JOIN t1 ON t1.id = t2.foreinkey";
$iterator = $connection->query($query);
while (is_object($iterator) AND ($array = $iterator->fetch()) !== FALSE) {
// do something with an associative array
}
Run Code Online (Sandbox Code Playgroud)
http://www.doctrine-project.org/docs/orm/2.0/en/reference/native-sql.html如果你想做任何映射.另一种选择是从EntityManager :: getConnection获取连接对象并对其进行操作.
它返回一个你应该能够使用的Doctrine\DBAL\Connection.它具有典型的fetchColumn fetchArray fetchAssoc等.