如何使用特定字段读取CakePHP模型?
我是CakePHP新手,我一直在阅读使用其他字段的模型。我做了一个蛋糕烘焙命令来生成一个简单的用户积垢。我可以使用提供的url CakePHP查看用户如何使用特定字段读取CakePHP模型?,php,cakephp,model,Php,Cakephp,Model,我是CakePHP新手,我一直在阅读使用其他字段的模型。我做了一个蛋糕烘焙命令来生成一个简单的用户积垢。我可以使用提供的url CakePHP查看用户 /users/view/1 我可以使用id=1查看用户。如果我想按名称而不是id查看用户,该怎么办 /users/view/username 默认情况下,view函数按id读取用户模型 $this->User->read(null, $id) 谢谢。我本人从未使用过cakePHP,但我建议您可能需要实现一个新的用户模型方法,比如
/users/view/1
我可以使用id=1查看用户。如果我想按名称而不是id查看用户,该怎么办
/users/view/username
默认情况下,view函数按id读取用户模型
$this->User->read(null, $id)
谢谢。我本人从未使用过cakePHP,但我建议您可能需要实现一个新的用户模型方法,比如getUserByUsername($username)
然后,这将反过来与DAL接口,DAL将根据用户名获取该用户的详细信息,并返回一个用户对象,该对象可以按照您的意愿使用…您可以使用
find
函数或findBy()
在您的情况下findByUsername()
看来CakePHP正在重点反对某些函数,例如
findAll()
。也许很快,像findBy()
这样的神奇方法也会有同样的命运
我可以推荐martswite的建议,您应该创建自定义函数:
function findUser($username=''){
return $this->find('first', array(
'conditions' => array(
'User.username' => $username
)
));
}
也许您有一个状态
字段,也许配置文件不是公共的,您可以添加一个条件:
function findUser($username=''){
return $this->find('first', array(
'conditions' => array(
'User.username' => $username,
'User.status' => 1
)
));
}
我认为这比
findBy
“似乎CakePHP正专注于弃用一些函数,比如findAll()。也许很快,像findBy()这样的神奇方法也会有同样的命运”你从哪里读到这些函数将被弃用?嗨。感谢您提供的解决方案。:-)