Symfony Doctrine_Query УДАЛИТЬ с INNER JOIN - PullRequest
3 голосов
/ 22 апреля 2011

Я использую symfony + doctrine и хочу выполнить запрос на удаление с объединением. См. Ниже мой код, который я в настоящее время использую, который отлично работает.

$sql = 'DELETE a
 FROM a
 INNER JOIN b ON a.b_id = b.id
 WHERE b.c_id = :c_id';

$pdo = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh();
$stmt = $pdo->prepare($sql);
$params = array('c_id' => $c_id);
$stmt->execute($params);

Кто-нибудь знает, как я могу сделать это, используя:

Doctrine_Core::getTable('a')

Или

Doctrine_Query::create()->delete()->from('a')

Мне тоже не повезло.

Я просто не хочу использовать сырой SQL в своем приложении.

1 Ответ

1 голос
/ 22 апреля 2011

Что-то вроде этого должно сделать

Doctrine_Query::create()
    ->delete('a a')
    ->innerJoin('a.b b')
    ->where('b.c_id = ?', $c_id)
    ->execute()
...