我的任务模型中的上一个和下一个记录按钮有这两种方法
public function getNext()
{
return Task::find()
->where(['>', 'id', $this->id])
->orderBy(['id' => SORT_ASC])
->one();
}
public function getPrev()
{
return Task::find()
->where(['<', 'id', $this->id])
->orderBy(['id' => SORT_DESC])
->one();
}
这很好,但在最后一条记录之后,在1条记录之前,我得到了这个错误。缺少必需的参数:id。我如何显示自定义消息而不是这个错误,或者在到达最后一个记录时禁用/隐藏下一个按钮
视图文件中的代码
<?= Html::a('Previous',
['/pmt/task/task-view', 'id' => $model->prev->id],
['class'=>'btn btn-primary btn-xs']);
?>
<?= Html::a('Next',
['/pmt/task/task-view', 'id' => $model->next->id],
['class'=>'btn btn-primary btn-xs']);
?>
只需在下一个按钮周围放一个if语句?
<?= Html::a('Previous',
['/pmt/task/task-view', 'id' => $model->prev->id],
['class'=>'btn btn-primary btn-xs']); ?>
<?php if($next = $model->next) {
<?= Html::a('Next',
['/pmt/task/task-view', 'id' => $next->id],
['class'=>'btn btn-primary btn-xs']); ?>
<?php } ?>