$ this-> Model-id не устанавливается с CakePHP 1.3 - PullRequest
1 голос
/ 28 июня 2011

Я пытаюсь получить идентификатор записи в моей базе данных в методе index () моего файла cns_controller.php.Я хочу использовать его для поиска ().Однако $ this-> Cn-> id не возвращает значение, поэтому find () также не работает.

$uses = array('Cn', 'Release');

/*check non-null value in released_user_id, 
 showing Release tab has been signed off*/
$releaseSignedOff = $this->Release->find('all', array(
    'conditions' => array('Release.cn_id =' => $this->Cn->id,
                    'Release.released_user_id !=' => null)
));
(sizeof($releaseSignedOff) > 0) ? $releaseSignedOff = true : $releaseSignedOff = false;
$this->set('releaseSignedOff', $releaseSignedOff);

Есть идеи?

Спасибо

1 Ответ

0 голосов
/ 29 июня 2011

В итоге я не использовал мое представление index, вместо этого я просмотрел самую последнюю запись в своей таблице базы данных cns и перенаправил ее на представление view, используя возвращенное значение в качестве параметра:

if (!$id) {
    $most_recent_change_note = $this->Cn->find('first', array(
        'order' => array('Cn.id DESC')
    ));
    $this->redirect(array('controller' => 'cns', 
        'action' => 'view/'.$most_recent_change_note['Cn']['id']));
}

Для нумерации страниц я использовал функцию $neighbors CakePHP:

function get_neighbors($id) {
    $neighbors = $this->Cn->find('neighbors', array('field' => 'id', 
        'value' => $id));
    $this->set('neighbors', $neighbors);
}

Затем в моем представлении view я использовал эти значения для создания ссылок:

<div class="paging">
    <?php echo ($neighbors['next']) ? $html->link('<< Prev', 
         array('controller'=>'cns',
         'action'=>'view/'.$neighbors['next']['Cn']['id'])).' | ' : '<< Prev | ';
    echo $html->link('Next >>', array('controller'=>'cns', 
         'action'=>'view/'.$neighbors['prev']['Cn']['id'])); ?>
</div>

Спасибо Чарльзу и Россу за помощь в достижении этого заключения. :)

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