我在這兩個控制器的'Users'和'Customers'有問題,他們的模型有多對一的關係。cakephp傳遞操作名稱作爲查詢,當從controllerB/actionB調用'controllerA/action'
在兩個控制器我有一個功能叫做assignToAccountManager()當我打電話的客戶/ assignToAccountManager從用戶/ assignToAccountManager我收到此錯誤:
警告(512): SQL錯誤:1064:您在您的SQL語法中有錯誤;檢查對應於你的MySQL服務器版本正確的語法在線路附近使用「assignToAccountManager」 1 CORE \蛋糕\庫\型號\數據源\ dbo_source.php,線525]
查詢手冊:assignToAccountManager
這是我的用戶/ assignToAccountManager()函數:
public function assignToAccountManager($userId=""){
$userId = $userId;
$userId = 1235;
$this->User->id = $userId;
$customerId = $this->User->field('customer_id');
$this->User->Customer->id = $customerId;
if($this->User->Customer->field('account_manager_id')){
$this->User->Customer->assignToAccountManager($customerId);
}
else{
}
}
,這是客戶的控制器我assignToaccountManger功能
public function assignToAccountManager($customerId){
if($customerId = ''){
return false;
}
else{
$this->loadModel('AccountManager');
$accountManagerId = array_rand($this->AccountManager->find('list', array(
'fields'=>array('id')
)),1);
$this->Customer->id = $customerId;
$this->Customer->saveField('account_manager_id', (string)$accountManagerId);
}
}
根據我的意見,U應該把「assignToAccountManager」放在app_controller中,然後你可以很容易地在兩個控制器中使用這個函數。 – chetanspeed511987