我有一些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();
}