表单位(id,unitNo,summary)。
id | unitNo
1 | 23个
2 | 25个
3 | 22个
在UnitsController中:
public function index() {
$this->set('units', $this->Unit->find('all'), array(
'order' => array('Unit.unitNo ASC'),
'fields' => array('Unit.id', 'Unit.unitNo'))
);
}
index.ctp
<table>
<tr>
<th>Unit</th>
<th>Summary</th>
</tr>
<!-- Here is where we loop through our $posts array, printing out post info -->
<?php foreach ($units as $unit): ?>
<tr>
<td>
<?php echo $this->Html->link($unit['Unit']['unitNo'], array('controller' => 'units', 'action' => 'view', $unit['Unit']['id']));
?>
</td>
<td><?php echo $unit['Unit']['summary']; ?></td>
</tr>
<?php endforeach; ?>
<?php unset($unit); ?>
</table>
我想使用order unit,但结果仍然按id排序。 http://s1104.photobucket.com/user/thai92hp/media/Untitled.png.html
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
请试一试:
public function index() {
$this->set('units', $this->Unit->find('all',
array(
'order' => array('Unit.unitNo ASC'),
'fields' => array('Unit.id', 'Unit.unitNo')
)
));
}
在我看来,您已将订单设置作为第三个参数提供给$this->set()
,但您可能要做的是将其作为第二个参数提供给$this->Unit->find()
。