2012-04-28 34 views
0

對於我正在編寫的內容,我想獲取模型的空副本或具有默認值的副本。如何在CakePHP中調用空的或默認的模型版本?

所以,通常它可能返回類似

array(
    'id' => '4', 
    'name' => 'Object name', 
    'somekey' => 'Some key\'s value', 
    'someotherkey' => '1', 
    'created' => '2012-04-22 17:11:31', 
    'modified' => '2012-04-22 17:11:31' 
) 

相反,我想它返回與完整的數組中的鍵,但值完全排空,甚至更好(如果可能)使用默認值我可以在模型本身中指定。這可能嗎?

+1

當您使用'Model :: create()'時,它會填充您在模式中使用默認值設置的任何鍵。 – jeremyharris 2012-04-28 20:19:37

+0

完美,這正是我所期待的,再次感謝您的幫助! – xtraorange 2012-04-28 21:37:56

+0

如果你想讓它成爲一個答案,我一定會選擇它,這是完美的工作。 – xtraorange 2012-04-28 22:25:55

回答

1

如果您只想創建一個填充了默認值的用戶,則可以使用Model::create()。它在架構中搜索您爲數據庫定義的默認值,並相應地填寫記錄數據。

+0

非常完美,非常感謝Jeremy! – xtraorange 2012-04-29 08:24:01

1

聽起來像是在尋找Model方法schema()。 這將返回所有表字段/類型。例如:

class User extends AppModel { 

    public function emptyDataset() { 
     $fields = $this->schema(); 

     if(is_array($fields)) { 
      return array_keys($fields); 
     } else { 
      return false; 
     } 
    } 

} 
+0

這絕對是一個很好的開始。我想從那裏我可以設置我想要定義默認空值的幾個字段。 – xtraorange 2012-04-28 20:10:07

相關問題