我有我的控制器上執行這些代碼的用戶獲取輸入值的文本框中SELECT查詢:與WHERE相當於在CakePHP
"SELECT * FROM accounts WHERE username = '$username' AND password = '$password'";
我該如何使用find()?
我有我的控制器上執行這些代碼的用戶獲取輸入值的文本框中SELECT查詢:與WHERE相當於在CakePHP
"SELECT * FROM accounts WHERE username = '$username' AND password = '$password'";
我該如何使用find()?
假設你有一個名字賬戶模式
$login = $this->Account->find('first', array(
'conditions' => array(
'Account.email' => $username,
'Account.password' => $password
)
));
if ($login)
{//do something}
else
{
}
我的模型名稱是employee_account.php,我選擇值的表名是employee_accounts。所以我要把$ this - > [SOMETHING] - > find();我收到一個錯誤「非對象上調用一個成員函數find()方法」 –
[SOMETHING]應該是型號名稱其他明智find方法不會執行 –
不喜歡逃避$用戶名/密碼$? – Dunhamzzz
首先我會過濾你的請求數據,並提取變量您的SQL查詢:
extract(array_map('mysql_real_escape_string', $this->request->data['employee_account']));
那麼這應該做的工作:
$this->accounts->find('all', array('conditions' => array('accounts.username' => $username, 'accounts.password' => $password)));
我的模型名稱是employee_account.php,我選擇值的表名是employee_accounts。所以我要把$ this - > [SOMETHING] - > find();我收到一個錯誤「調用一個非對象的成員函數find()」 –
您是否在配置中設置了數據庫?看看Cake文檔,在你的模型中你需要聲明$ name ='model name':http://book.cakephp.org/1.3/en/view/1001/Understanding-Models – StuR
是的,我已經安裝好了我的數據庫在配置中。我想我需要更改數據庫名稱?我的數據庫名稱是employee_accounts。型號名稱是employee_account。控制器名稱是EmployeeAccountsController。 cakephp 2.1。哪裏不對? –
StuR差點沒事了,他只是走錯了路, rameters ..
$this->EmployeeAccount->find('all', array(
'conditions' => array(
'accounts.username = ?' => $username,
'accounts.password = ?' => $password
)
));
此外,我不禁想起你嘗試登錄有人在這嗎? CakePHP has a built in authentication component,這消除了這樣寫find()
的需要。另外,因爲你需要幫助在Cake中編寫非常基本的SQL查詢,所以我建議閱讀手冊中的Retrieving your data頁面。
謝謝,內置認證問題..但我認爲我在命名約定中遇到問題。我的表是employee_accounts。型號名稱是employee_account。控制器是EmployeeAccountsController。有什麼不對的嗎? –
我的型號名稱是employee_account.php和表名,我將選擇值是employee_accounts。所以我要把$ this - > [SOMETHING] - > find();我收到一個錯誤「調用一個非對象的成員函數find()」 –