gpt4 book ai didi

mysql - 选择查询 zend 框架 2 的顺序和限制

转载 作者:行者123 更新时间:2023-11-29 00:11:56 24 4
gpt4 key购买 nike

今天早些时候,有人问了一个关于更新查询的问题。但是现在我想选择一些东西(并且它正在工作)但我也想订购它们并对其进行限制。

这是选择所有食物的代码:

public function getFood($id)
{
$id = (int)$id;

$rowset = $this->tableGateway->select(array('kindOfFood_id' => $id));

$row = $rowset->current();

if (!$row) {
throw new \Exception("Could not find row $id");
}
return $row;
}

但是我该怎么做:

从 KindOfFood 中选择 * ==> order by kindOfFood_votes DESC ?

我在文档中看到您可以这样做,但它对我不起作用?

$rowset = $artistTable->select(function (Select $select) {
$select->where->like('name', 'Brit%');
$select->order('name ASC')->limit(2);
});

最佳答案

您希望只返回单行还是多行。

对多行试试这个-

use Zend\Db\Sql\Select; //at the top of the page among other use statements.

public function getFood($id)
{
$id = (int) $id;

$select = new Select(TABLE_NAME); //CHANGE TABLE_NAME as per needs
$select->where('kindOfFood_id = ' . $id);
$select->order('kindOfFood_votes DESC');

$resultSet = $this->tableGateway->selectWith($select); //Will get array of rows.

//$row = $rowset->current(); THIS IS FOR RETURNING ONLY SINGLE ROW NOT ALL ROWS

if (!$resultSet) {
throw new \Exception("Could not find rows with food id - $id");
}
return $resultSet;

可以通过循环访问返回的结果集。例如:foreach

foreach($resultSet as $row) {
echo $row->kindOfFood_id; //or something
}

注意:

如果你只需要

按 kindOfFood_votes DESC 从 KindOfFood 订单中选择 *

然后从上方删除 $select->where('kindOfFood_id = ' . $id); 行。

关于mysql - 选择查询 zend 框架 2 的顺序和限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24655897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com