2010-10-12 55 views
1

當我嘗試更新的用戶,比方說他的賬戶餘額

$this->User->id = $validUserId; 
$this->User->saveField('balance', 100); 

我得到這個錯誤

SQL Error: 1054: Unknown column 'User.group_id' in 'field list' 

與此自動生成查詢droring保存過程

SELECT `User`.`group_id` FROM `users` AS `User` WHERE `User`.`id` = *validUserId* LIMIT 1 

用戶屬於一個用戶組,因此用戶有user_group_id a ttribute,有沒有辦法告訴蛋糕,該屬性與UserGroup有關?

由於提前, EL

回答

2

CakePHP的模型相關聯,如果你只是保存一個字段,你不需要做驗證。在這種情況下,只是做

$this->User->saveField('balance', 100, false); 

http://api.cakephp.org/class/model#method-ModelsaveField

或者,如果有喜歡beforeSave什麼的回調,我認爲你可以這樣做:

$this->save($data, array('validate'=>false, 'callbacks'=>false)); 

希望這有助於

+0

禁用回調解決了問題,謝謝;) – ELwhis 2010-10-21 21:11:46

2

十分肯定,該機型應該是這樣的:

class UserGroup extends AppModel { 
    var $belongsTo = array(
    'UserGroup' => array(
     'className' => 'UserGroup', 
     'foreignKey' => 'user_group_id' 
    ) 
); 
} 

class User extends AppModel { 
    var $hasMany = array(
    'User' => array(
     'className' => 'User', 
     'foreignKey' => 'user_group_id' 
    ) 
); 
} 

閱讀關於也許在book

+0

是你suer UserGroup belongsTo UserGroup和User hasMany Users?我的模型沒問題...用戶屬於UserGroup,外鍵設置爲user_group_id和UserGroup hasMany Users,使用相同的FK – ELwhis 2010-10-21 19:38:16

相關問題