Каков наилучший способ ввода данных скрытых полей в CakePHP? - PullRequest
1 голос
/ 19 августа 2010

Я использую CakePHP и хочу передать имя автора (сохраненное в сеансе) в статью, которая сохраняется в базе данных. Является ли скрытое поле единственным способом сделать это или есть лучший способ?

Ответы [ 2 ]

0 голосов
/ 19 августа 2010

Если у вас это уже есть в сеансе, я бы не стал тратить лишний код / ​​время на добавление его в скрытое поле.Я бы обновил метод, добавив переменную сеанса к данным $ this->, чтобы он добавлялся при сохранении записи.Таким образом, метод в контроллере будет выглядеть примерно так:

function add() {
   if($this->data) {
      $this->data['Article']['author'] = $this->Session->read('User.name');
      $this->Article->create();
      if ($this->Article->save($this->data)) {
    ...
}

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

0 голосов
/ 19 августа 2010

Существуют и другие способы, но скрытое поле так же удобно, как и любое другое, и, возможно, наиболее прозрачное (то есть наиболее детектируемое другими разработчиками, которые могут получить код позже). Вы также можете вставить значение в структуру $this->data перед сохранением и быть уверенным, что ваша модель знает, что с ним делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...