如何查找并显示表格中第一个元素的名称?
我猜我必须使用像
这样的东西$this->data['lastInvioce'] = $this->Invoice->find('all', array('limit' => 1));
...在控制器中找到它......
答案 0 :(得分:1)
您的代码几乎是正确的。 Model::find()
的第一个参数表示要检索的记录数。 Model::find('all')
检索所有匹配的记录。你想要的是Model::find('first')
:
// Retrieve most recent Invoice record
$lastInvoice = $this->Invoice->find('first', array(
'fields' => array( 'Invoice.name' ),
'order' => array( 'Invoice.created' => 'desc' )
);
// Make this Invoice record available in the view
$this->set( compact('lastInvoice'));
这将检索最近创建的Invoice
记录,并仅检索name
字段。 $this->set()
调用使$lastInvoice
中的数据可供您查看。所以:
echo $lastInvoice['Invoice']['name'];
或者:
extract($lastInvoice);
echo $Invoice['name'];
答案 1 :(得分:0)
试试$this->Invoice->find( 'first', ... )
。当然,您可以使用其他条件和/或排序来操纵哪个记录是第一个。