是否可以使用Doctrine QueryBuilder构建INSERT INTO SELECT查询?

时间:2016-03-10 17:34:53

标签: php mysql symfony doctrine-orm dbal

我有一些Criteria,需要根据SELECT和Criteria创建INSERT查询。

查询应该是这样的:

INSERT INTO mytable (field1, field2)
SELECT f1, f2
FROM mytable2
JOIN mytable3 ON mytable3.field3 = mytable2.field2
WHERE mytable3.somefield = 'somevalue'

修改

我知道如何构建INSERT INTO VALUES查询。但我在Criteria对象中有SELECT条件,我需要使用它们来构建INSERT。

我需要这样的东西

public function myInsert(Criteria $criteria)
    $qb = new QueryBuilder;
    $qb->insert('mytable')
        ->values('field1, field2') // Is it possible 
        ->select('f1, f2')         // somthing like this?
        ->from('mytable2')
        ->innerJoin('mytable2', 'mytable3', 'mytable3', 
            'mytable3.field3 = mytable2.field2')
        ->where($criteria);
    $qb->execute();
}

0 个答案:

没有答案