如何使用 addSql 在学说迁移中将字段设置为 null?

How to set field to null on doctrine migrations using addSql?

我正在使用 Doctrine\DBAL\Migrations\AbstractMigration::addSql($sql, array $params = array(), array $types = array()) 更新我的一个学说迁移中的一个实体,我必须将一列设置为空。

我已经调试过了,我尝试将类型设置为 \PDO::PARAM_NULL,但我遇到了同样的问题。

SQL:

    $sql="INSERT INTO sme_task_template (status_change_final_status) VALUES (:finalStatus)";
    $params=array(
        'finalStatus' => null
    );
    $types=array(
        'finalStatus' => \PDO::PARAM_NULL
    );
    $this->addSql($sql, $params, $types);

异常:

  [Doctrine\DBAL\DBALException]                                                
  An exception occurred while executing 'INSERT INTO sme_task_template (statu  
  s_change_final_status) VALUES (:finalStatus)' with params [null]:            
  Value for :finalStatus not found in params array. Params array key should b  
  e "finalStatus"

有人知道怎么解决吗?

谢谢

我无法使用命名参数,但它似乎可以使用问号参数。

    $sql="INSERT INTO sme_task_template_trigger (status_change_final_status) VALUES (?)";
    $params=array(
        null
    );
    $types=array(
        \PDO::PARAM_NULL
    );
    $this->addSql($sql, $params, $types);