【问题标题】:Yii framework how update all records?Yii框架如何更新所有记录?
【发布时间】:2014-05-17 14:36:05
【问题描述】:

我正在使用 Yii 框架。

/view/update.php

<?php
    echo CHtml::beginForm();
    foreach ($items as $i=>$item):
        echo '<tr>';
    echo '<td>'.$item['name'].'</td>';
    echo '<td>'.$item['c1'].'</td>';
    echo '<td>'.  count(cos::model()->findAll(array(
            'condition'=>'cos2='.$item['id'],))).'</td>';
    echo '<td>'. CHtml::activeCheckBox($item, "[$i]c2").'</td>';
    echo '<td>'. CHtml::activeCheckBox($item, "[$i]c3").'</td>';
    echo '<td>'. CHtml::activeCheckBox($item, "[$i]c4").'</td>';
    echo '<td>edit</td>';
        echo '</tr>';
    endforeach;
    echo '</table>';
    echo CHtml::submitButton('Save');
    echo CHtml::endForm();
?>

如何一次写入所有记录?

【问题讨论】:

    标签: php mysql yii


    【解决方案1】:

    使用 updateAll

    举个例子

    User::model()->updateAll(array( 'status' => 1, 'updated' => date('Y-m-d' ),
                                  'type_id = 1 AND status = 0 '
                          );
    

    【讨论】:

    • 应该是User::model()
    • 很好看。以后也可以继续编辑帖子。
    【解决方案2】:

    您可以以此为参考,了解如何使用 Yii 全部更新

    CActiveRecord::updateAll($attributes, $condition='', $params=array())
    

    http://www.saidur-rahman.com/yii-how-to-updateall-works/

    【讨论】:

      【解决方案3】:

      在 Yii2 中,如果您使用绑定变量(推荐),请使用以下语法。在例如Sometable 的 tr_id 和 completeby_dt 更新为 Null,其中 column tr_id = variable $tr_id。

      Sometable::updateAll(['tr_id' => NULL, 'completeby_dt' => NULL],
                           'tr_id = :vtrid', [':vtrid' => $tr_id]);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-28
        • 2012-10-24
        • 1970-01-01
        相关资源
        最近更新 更多