我是CakePHP的新手,我被困在使用其他領域的模型中。我做了一個蛋糕烘烤命令來生成一個簡單的用戶CRUD。我可以使用提供的CakePHP查看用戶。如何使用特定字段讀取CakePHP模型?
/users/view/1
我可以查看用戶使用id = 1。如果我想通過名稱而不是id查看用戶該怎麼辦?
/users/view/username
默認情況下,視圖函數通過id讀取用戶模型。
$this->User->read(null, $id)
謝謝。
我是CakePHP的新手,我被困在使用其他領域的模型中。我做了一個蛋糕烘烤命令來生成一個簡單的用戶CRUD。我可以使用提供的CakePHP查看用戶。如何使用特定字段讀取CakePHP模型?
/users/view/1
我可以查看用戶使用id = 1。如果我想通過名稱而不是id查看用戶該怎麼辦?
/users/view/username
默認情況下,視圖函數通過id讀取用戶模型。
$this->User->read(null, $id)
謝謝。
,你可以在你的情況下使用find
功能或findBy<Field>()
findByUsername()
我從來沒有用過cakePHP,但我會建議你可能不得不實現一個新的用戶模型方法,比如getUserByUsername($ username) 然後這將會與你的DAL進行交互,獲得該用戶的基於用戶名的詳細信息,並返回可用於但是你希望用戶對象...
似乎CakePHP正在關注一些功能,比如findAll()
。也許不久,諸如findBy<field>()
等魔術方法將會有相同的命運。
我可以推薦什麼martswite是在暗示,你應該創建自定義功能:
function findUser($username=''){
return $this->find('first', array(
'conditions' => array(
'User.username' => $username
)
));
}
也許你有一個status
場,也許是個人資料尚未公開,你可以添加一個條件:
function findUser($username=''){
return $this->find('first', array(
'conditions' => array(
'User.username' => $username,
'User.status' => 1
)
));
}
我認爲這比findBy<Field>
更模塊化。
「似乎CakePHP正在關注某些函數,比如findAll(),也許不久之後,諸如findBy
嗨。感謝您的解決方案。 :-) – Ben 2010-11-30 12:53:46