2010-11-29 72 views
0

我是CakePHP的新手,我被困在使用其他領域的模型中。我做了一個蛋糕烘烤命令來生成一個簡單的用戶CRUD。我可以使用提供的CakePHP查看用戶。如何使用特定字段讀取CakePHP模型?

/users/view/1 

我可以查看用戶使用id = 1。如果我想通過名稱而不是id查看用戶該怎麼辦?

/users/view/username 

默認情況下,視圖函數通過id讀取用戶模型。

$this->User->read(null, $id) 

謝謝。

回答

1

,你可以在你的情況下使用find功能或findBy<Field>()findByUsername()

check this

+0

嗨。感謝您的解決方案。 :-) – Ben 2010-11-30 12:53:46

0

我從來沒有用過cakePHP,但我會建議你可能不得不實現一個新的用戶模型方法,比如getUserByUsername($ username) 然後這將會與你的DAL進行交互,獲得該用戶的基於用戶名的詳細信息,並返回可用於但是你希望用戶對象...

0

似乎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>更模塊化。

+0

「似乎CakePHP正在關注某些函數,比如findAll(),也許不久之後,諸如findBy ()這樣的神奇方法將會具有相同的命運」 「你從哪裏讀到這些函數會去?將被棄用? – Sunny 2010-11-30 03:29:09

相關問題