рекомендуем создать новый столбец, например url в вашей пользовательской таблице.
В users_controller.php указана функция просмотра, так что вы можете перейти на страницу пользователя по URL-адресу нет по id.
function view($url = null) {
if (!$url) {
$this->Session->setFlash(__('Invalid product', true));
$this->redirect(array('action' => 'index'));
}
$this->set('user', $this->User->find('first',array('conditions'=>array('User.url' => $url))));
}
In rout.php
Router::connect('/*', array('controller' => 'users', 'action' => 'view'));
Но это может привести к проблемам, если вы используете другие контроллеры. Поэтому я использую что-то вроде этого:
$usersModel = ClassRegistry::init('User');
$users = $usersModel->find('all');
foreach($users as $user){
Router::connect('/'.$user['User']['url'], array('controller' => 'users', 'action' => 'view',$user['User']['url']));
}
Я имел дело с подобной проблемой, поэтому вы можете проверить мой вопрос.