我使用CakePHP 2.x和CakeDC用戶插件。我試圖通過將下面的代碼放在我的AppController的beforefilter()
中讓變量*'editprofile'和'profile_area_pic'可供所有控制器使用 - 此代碼允許我顯示用戶配置文件圖片並且工作正常,直到您嘗試註冊用戶並給出以下內容錯誤:使CakePHP 2.x中的所有控制器都可用變量
[PDOException] SQLSTATE[42000]: Syntax error or access violation: 1064
您的SQL語法錯誤;請檢查與您的MySQL服務器版本相對應的手冊,以便在第1行'register'附近使用正確的語法。
是否有人對如何使這些變量可用有更好的瞭解?提前致謝。
///////////// *在下面給出變量//////////////////////////// ///////////////
$this->loadModel('Profile');
$profileedit = $this->Auth->User('id');
$editprofile = $this->Profile->find('first',array(
'conditions'=>array('Profile.user_id'=>$profileedit),
'fields'=>array('id')));
$this->set(compact('editprofile'));
$this->loadModel('Profile');
$profileuse = $this->Auth->User('id');
$profile_area_pic = $this->Profile->find('first',array(
'conditions'=>array('Profile.user_id'=>$profileuse),
'fields'=>array('photo')));
$this->set(compact('profile_area_pic'));
請不要使用1.3和2.x標記它 - 只選擇適用的主要版本!另外,爲什麼loadModel()兩次?一旦裝載完畢,就不需要在同一個地方再做一次。 – mark
感謝馬克,注意到,並請忽略第二個loadModel() – Joshua