yii2如何将整数字段覆盖到模型中?

时间:2015-01-09 09:36:05

标签: override yii2

我在这里读到

https://github.com/yiisoft/yii2/issues/6797

可以覆盖一个字段, 把它转移到整数

我想要强制ID编号

我尝试将此功能添加到模型中:

public function fields()
{
$fields = parent::fields();
    $fields = [
        'ID' => 'integer',
        'CODICE_SPEEDY',
        'DESCRIZIONE',
        'DESCRIZIONE_COMPLETATO',
    ];
return $fields;
}    

但是yii2崩溃: 获取未知属性:app \ models \ Interventi :: integer

你能帮助我吗?

2 个答案:

答案 0 :(得分:0)

字段用于重命名属性。它们不用于铸造。用这个

'ID' => 'integer',

您正在努力调用$model->ID,这将显示表格列'integer'

当你说to force你是什么意思?这是您的数据库应该做的事情,或模型验证。您希望to force从/哪里获取整数?

答案 1 :(得分:0)

public function fields()
{
$fields = parent::fields();
    $fields = [
        'ID' => function ($model) {
             return intval($model->ID);
        },
        'CODICE_SPEEDY',
        'DESCRIZIONE',
        'DESCRIZIONE_COMPLETATO',
        'SERVIZIO', 'ASSEGNAZIONE', 'PIANIFICAZIONE', 'ESECUZIONE', 'ATTESA_CLIENTE', 'COMPLETATO'
    ];

return $fields;
}