php - Yii 迁移更新

标签 php migration yii

在迁移中,我想添加一个默认为列 ID 的顺序列。我尝试了以下方法:

$this->update(
 'item',  // table
  array(  // columns
    'item_order'=>':item_id'
  ), 
  '',     // condition
  array(  // parameters
    ':item_id'=>'item_id'
  )
);

但这只是给出所有 ID 0。(我并不感到惊讶,因为我猜它正在尝试使用字符串而不是列名)。

有什么方法可以在不手动构建 SQL 的情况下完成此操作?

最佳答案

将列名称包装在 CDbExpression 中, 它指示 Yii 将其包含在未转义的结果查询中:

$this->update('item', array('item_order'=> new CDbExpression('item_id')));

关于php - Yii 迁移更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5436072/

相关文章:

php - 如何列出 Yii2 中的所有目录

php - 如何更改 yii 框架的核心功能?

php - 如何将 Php::DateInterval 转换为秒?

PHP/CodeIgniter关系型数据库数组搭建

c++ - 我不明白VS2013编译器显示的错误

ruby-on-rails - 将现有的 Rails 列从字符串转换为数组

asp.net - 值不能为空。参数名称: connectionString when i run add-migration

php - 如何估计网站上可能的最大用户数?

php - Doctrine2 order by count many to many with many left join

php - 如何对任何 foreach 循环结果的总值求和