Doctrine 1.2.4를 사용하면 Doctrine에서 "IF"MySQL 명령어를 사용하여 해결할 수 없습니다.Doctrine 1.2 제어 흐름 함수 "IF"
UPDATE mytable SET mytable.state = IF(mytable.state=0, 128, mytable.state)
그러나 사용 :
나는이 SQL 코드를 생성 할
$stmt_update = Doctrine_Query::create()
->update('Mytable mytable')
->set('mytable.state', 'IF(mytable.state=0, 128, mytable.state)')
->execute();
MySQL 서버에서 결과는 다음과 같습니다 mytable.state = (mytable.state)
$stmt_update>getDql(); // 'UPDATE Mytable mytable SET mytable.state = IF(mytable.state=0, 128, mytable.state)'
$stmt_update->getSqlQuery(); // 'UPDATE mytable SET mytable.state = IF(mytable.state)'
IF
getSqlQuery() 메서드는 Mysql을 호출하는 데 사용되지만 잘못된 SQL 문을 사용합니다.
Doctrine 1.x에서 IF를 사용하는 방법이 있습니까?
http://groups.google.com/group/doctrine-user/browse_thread/thread/3faa518645e32eda%23&usg=AFQjCNEuqznC25z1EAzF4NIcfln8VG_Brg 현재 DQL에서 지원되지 않습니다.
Doctrine 1과 함께 IF 확장 기능을 사용할 수 있습니까? (DoctrineExtensions/lib 디렉토리/ DoctrineExtensions/쿼리/mysql을/IfElse.php 같은) https://github.com/beberlei/DoctrineExtensions/blob/master/lib/DoctrineExtensions/Query/Mysql/IfElse.php
Conditional IF statement in a PHP Doctrine 1.2 SET statement 는 사용할 수 없습니다.