2012-02-09 2 views
0

Я немного смущен тем, как я могу обмениваться информацией между контроллерами в CakePHP 2.0. Это в основном то, что я пытаюсь сделать.Как подключить или обмен информацией между контроллерами в cakephp

У меня есть таблица изображений дб, который содержит идентификатор, имя, путь и т.д. таблицу пользователей, которая содержит пользователь пользователя, пароль и т.д.

У меня есть модель image.php, контроллер - ImagesController. PHP и просмотров - Просмотр/изображения/add.ctp Посмотреть/Images/index.ctp View/Images/view.ctp

у меня есть модель User.php, контроллер - UsersController.php и вид - Просмотр/Пользователи/index.ctp, View/Users/login.ctp

My View/Images/index.ctp перечислены все изображения, которые были загружены, View/Images/add.ctp позволяет любому загрузить изображение

Посмотреть/Users/login.ctp позволяет пользователю войти в систему и, если это правильная информация, он отправляет пользователя на просмотр/Пользователи/index.ctp

1) Как я могу сделать View/Images/add.ctp доступным только для пользователей, которые вошли в систему. Должен ли я перенаправить их на View/Images /add.ctp с информацией о сеансе пользователя и проверить, установлены ли данные или как это работает в CakePHP?

2) Если я обновляю таблицу изображений из изображений, используя $ this-> Image-> saveAll ($ data_s). Как сохранить некоторые данные в таблице пользователя? Я просмотрел документацию, но немного смутился.

ответ

2
  1. Используйте AuthComponent to handle authentication, который на самом деле то, что вы хотите.
  2. Если две модели связаны друг с другом, вы можете получить доступ друг к другу. Например. если изображение принадлежит пользователю, модель пользователя доступна из модели изображения с помощью простого $this->Image->User. В противном случае вы можете включить любую модель в любой контроллер, используя $uses attribute или временно используя loadModel method.
0
  1. Вы должны делать эту проверку в контроллере - если вы не вошли в систему, не роняйте кода в отделение, где он будет использовать эту точку зрения. Вы не должны вводить такую ​​логику в представление.

  2. Вызова $this->User->save($some_data) где $this->User имеет модели пользователя, загруженные в него, и $some_data является суженным подмножеством данных, которые вы хотите вставить в таблицу пользователей.

Смежные вопросы