【问题标题】:Yii - getting the attributes from a modelYii - 从模型中获取属性
【发布时间】:2014-12-10 07:19:16
【问题描述】:

我有一个使用以下动态数据集的模型:

$array = array('user_id' => 12345);
$model->setAttributes($array);

但是当我在下一行运行以下命令时,它返回 null?

echo $model->user_id; // i would expect to see 12345

谁能解释为什么这是空的?

【问题讨论】:

  • 您确定 user_id 是 safe 属性吗?

标签: php oop yii frameworks


【解决方案1】:

setAttributes 仅适用于设置了规则的属性。如果属性user_id 没有设置规则,则需要将其置于safe 规则下。这与Massive Assignment有关。

【讨论】:

    【解决方案2】:
    $array = array('user_id' => 12345);
    $model->setAttributes($array);
    

    这个定义模型

    echo $model->user_id;
    

    正在打印数据库中列名为 user_id 的记录。

    <?php echo CHtml::beginForm(); ?>
    
    <?php echo CHtml::activeLabel($model,'username'); ?>
    
    <?php echo CHtml::endForm(); ?>
    

    此代码仅打印您定义的标签“12345”

    返回“NULL”,可能该列没有数据

    【讨论】:

    • echo $model-&gt;user_id; 将打印模型实例的 user_id 的当前值。
    猜你喜欢
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    相关资源
    最近更新 更多