2009-06-08 42 views
0

我有一個現有的PHP/MySQL應用程序,我想轉換爲CakePHP。 不幸的是,我不能改變列名,他們不遵循CakePHP標準。如何在將現有php應用程序移植到CakePHP時爲模型使用非標準表/列名稱?

例如: 表名之一被稱爲「用戶」,它不是複數。主鍵被稱爲「user_id」而不是「id」。創建日期被稱爲「生成」,而不是「創建」,等...

我希望有一種方法來定義CakePHP模型中表名和字段的別名,但我似乎無法找到它。 有什麼建議嗎?

+0

反正有定義別名嗎?我寧願在我的CakePHP應用程序中使用用戶標識而不是用戶標識。 – 2009-06-09 02:56:59

回答

4

您可以更改與模型相關聯的表的名稱,以及主鍵:

class User extends AppModel { 
    var $table = 'User'; 
    var $primaryKey = 'id'; 
} 

至於「generated」的事情,我還沒有找到一種方法來覆蓋CakePHP中的「created/modified」默認值(除了直接訪問庫源並直接攻擊它)。你能夠添加列嗎?

+0

是的,我可以添加列,我不希望你。今晚我會試試你的解決方案。感謝您的建議。 – 2009-06-08 21:45:47

4

關於「generated」,您可以使用beforeSave等回調插入/更新值。

<?php 
class User extends AppModel { 
    var $table = 'user'; 
    var $primaryKey = 'user_id' 

    function beforeSave() { 
     this->data['generated'] = date('Y-m-d H:i:s'); 
    } 
} 
?> 
相關問題