我是CakePHP的新手,我在使用其他领域阅读模型时遇到困难。我做了一个蛋糕烘焙命令来生成一个简单的用户CRUD。我可以使用提供的CakePHP来查看用户。
/users/view/1
我可以使用id = 1查看用户。如果我想按名称而不是ID查看用户该怎么办?
/users/view/username
默认情况下,视图功能按ID读取用户模型。
$this->User->read(null, $id)
谢谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
我自己从未使用过cakePHP,但我建议你可能需要实现一个新的用户模型方法,比如getUserByUsername($ username) 然后,这将与您的DAL接口,该DAL将根据用户名获取该用户的详细信息,并返回可以根据您的意愿使用的用户对象...
答案 2 :(得分: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>
更加模块化。