Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php symfony2在不创建完整结果数组的情况下提取_Php_Arrays_Symfony_Csv_Doctrine - Fatal编程技术网

Php symfony2在不创建完整结果数组的情况下提取

Php symfony2在不创建完整结果数组的情况下提取,php,arrays,symfony,csv,doctrine,Php,Arrays,Symfony,Csv,Doctrine,我希望导出到一个csv文件使用条令。然而,数据可能相当大。因此,我不想将结果输出到一个完整的数组。我想迭代遍历结果 我试过看这里 PHP看起来像这样 $result = mysql_query("SELECT * FROM bigtable"); while($row = mysql_fetch_assoc($result)) { // do code iteratively here } 我不知道你是如何在symfony2的教义中做同样的事情的: “

我希望导出到一个csv文件使用条令。然而,数据可能相当大。因此,我不想将结果输出到一个完整的数组。我想迭代遍历结果

我试过看这里

PHP看起来像这样

    $result = mysql_query("SELECT * FROM bigtable");
    while($row = mysql_fetch_assoc($result)) {
        // do code iteratively here
    }
我不知道你是如何在symfony2的教义中做同样的事情的:

“选择u…”
等同于您的
选择*.

$result = mysql_query("SELECT * FROM bigtable");
while($row = mysql_fetch_assoc($result)) {
    // do code iteratively here
}

是平面PHP,symfony2/doctrine就是为了避免这种情况而设计的

德克很荣幸他的回答是正确的。如果您想迭代实体模型,那么这就是方法。有时,您可能没有针对返回的sql结果的模型映射设置。如果您想对原始sql文件执行此操作,那么我就是这样做的。我想听听更多的想法

您可以通过控制器将连接传递到类中

控制器

function indexAction(){
    $className = new ClassName($this->getDoctrine()->getEntityManager());
}
然后可以创建原始sql查找

实体

function __construct($entity){
    $this->connection = $entity->getConnection();
}


function saveToCSV
{
    $stmt = $this->connection->prepare("SELECT * FROM bitTableExample ");
    $stmt->execute();

    while($row = $stmt->fetch()){
        // append to csv file
    }
}
function __construct($entity){
    $this->connection = $entity->getConnection();
}


function saveToCSV
{
    $stmt = $this->connection->prepare("SELECT * FROM bitTableExample ");
    $stmt->execute();

    while($row = $stmt->fetch()){
        // append to csv file
    }
}