2015-01-09 58 views
0

我讀到這裏yii2 ovverride如何將整數字段轉換爲模型?

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

你能幫我嗎?

回答

0

字段用於重命名屬性。它們不適用於類型轉換。與此

'ID' => 'integer', 

你綁使它可以調用$model->ID,這將顯示錶列'integer'

當你說to force你是什麼意思?那是你的數據庫應該做的事,或者模型驗證。你想to force從什麼地方得到一個整數?

+0

我的問題是這樣的: https://github.com/yiisoft/yii2/issues/6797 在32位系統上, yii2處理整數領域所創造的字符串 這樣一來,JSON服務休息是錯誤的 – Janka

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; 
}