- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几天以来,我在使用 tablegateway 和 zf2 函数进行 mysql 查询时遇到了问题。
我想获得 'reservation_spot'
列的最大值,其中 'reservation_datetime' = &reservation_datetime
查询应该是这样的
SELECT MAX(`reservation_spot`) FROM `reservation` WHERE `reservation_datetime`='2015-09-30 8:00'
我已经尝试了很多方法来解决这个问题,但我做不到
这是我的功能
public function getMaxValueWhereDate($reservation_datetime)
{
$select = $this->tableGateway->getSql()->select();
$select->columns(array(
'maxValue' => new Expression('MAX(reservation_spot)')
));
$select->where(array('reservation_datetime' => $reservation_datetime));
$rowset = $this->tableGateway->selectWith($select);
$row = $rowset->current();
if (!$row) {
throw new \Exception("Could not retrieve max value");
}
return $row;
}
加上这个
$reservation->reservation_spot = $this->getMaxValueWhereDate($reservation_datetime);
$reservation->reservation_spot++;
在此之后,当我运行我的表单时出现错误:
Statement could not be executed (42000 - 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '55', '41', '1', 0, '2015-09-08 16:23:27')' at line 1)
我函数的查询是
SELECT MAX(reservation_spot) AS `maxValue` FROM `reservation` WHERE `reservation_date` = '2015-09-30 08:00'
@UPDATE 已解决,编辑为
public function getMaxValueWhereDate($reservation_datetime)
{
$sql = $this->tableGateway->getSql();
$select = $sql->select();
$select->columns(array(
'maxValue' => new Expression('MAX(reservation_spot)')
));
$select->where(array('reservation_datetime' => $reservation_datetime));
return $this->tableGateway->selectWith($select);
}
和
$reservation->reservation_spot = (int)$this->getMaxValueWhereDate($reservation_datetime);
最佳答案
您返回的行结果是您模型的实例,而不是您想要的值。
在您的第一个示例中,更改此行:
return $row->maxValue;
您还必须在您的模型中声明 maxValue 字段,否则它不会被映射。
如果您的模型中不需要此字段,另一种可能性是使用已经存在的字段:
$select->columns(array(
'reservation_spot' => new Expression('MAX(reservation_spot)')
));
然后:
return $row->reservation_spot;
关于php - Zend Framework 2 TableGateway MAX查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32460765/
$resultSet = $this->tableGateway->select ( function ($select) { $select->columns ( array (
我有我的模型表,一切正常,但我试图将一些变量传递给函数,但无法识别该变量。 我在 Application/Model/someTable.php 中的函数 /** * @param array $m
我想在 Zend2 中的两个表之间做一个简单的 INNER JOIN。 具体来说,我想在 Zend2 中这样做: SELECT * FROM foo, bar WHERE foo.foreign_id
我正在尝试为我的表对象创建一个抽象对象。 今天我有很多对象,例如:CategoriaTable , FornecedoresTable等实现 $this->tableGateway->insert()
Zend 或者我说整个框架概念对我来说是新的。一些示例基于 tablegateway 格式,您可以在其中定义与 Module.php 中的 Controller 相关的表的名称。 /* 'MYMODU
您好,我正在尝试掌握 Zend 2,但我在表网关中的 where 子句方面遇到了一些问题。 下面是我的表类: //module\Detectos\src\Detectos\Model\Operatin
尝试适应 ZF2 skeleton application ,我在处理 resultSet 中检索到的字段时遇到问题。我的表“project”包含四个字段:id、title、shortTitle、ye
几天以来,我在使用 tablegateway 和 zf2 函数进行 mysql 查询时遇到了问题。 我想获得 'reservation_spot' 列的最大值,其中 'reservation_date
找不到列:“where 子句”中的 1054 未知列“total_points” protected $tableGateway; public function __construct(TableG
我刚刚开始使用 Zend Framework 2 进行开发,但遇到了障碍。 在最简单的表达式中,fetchAll 函数起作用了: public function fetchAll() { $r
我有一张 table : *CREATE TABLE IF NOT EXISTS `blogs_settings` ( `blog_id` int(11) NOT NULL AUTO_INCREM
如何将数据库映射器与分页器一起使用? 我在理解如何使用下面的代码实现 DbSelect 分页器时遇到了一些麻烦(现在它使用的是不适用于 ResultSet 的 Iterator 适配器)。 据我所知,
我正在尝试从 mysql 切换到 Zend/TableGateway 类。 不知道有没有类似mysql_insert_id的方法,可以得到最后插入的行的自增id。 谷歌搜索,我找到了一些答案,指向 D
我需要在使用表网关的模型中编写更新查询。更新查询sql如下。 UPDATE `config_settings` SET `CS_value` = CASE `CS_option` WHEN '
是否可以运行全文搜索 MySQL 查询?我如何使用 TableGateway 做到这一点?提前致谢。 最佳答案 $table = new \Zend\Db\TableGateway\TableGate
我想就 Zend Framework 2 中的 TableGateway 寻求一些帮助。基本上,我按照教程逐步进行了一些小的修改,但我不知道我错过了什么。 下面描述的问题与平台无关,我能够在 Wind
我正在尝试使用 Zend Framework 2 进行查询,其中我在 JOIN 语句中有一个 SELECT。到目前为止,这是我尝试过的方法,但是将 SELECT 对象注入(inject)到 join(
如何使用 Zend\Db\TableGateway 获取 SQL_CALC_FOUND_ROWS,而不使用原始 SQL 的直接低级查询? class ProductTable { protec
能否请您用 PHP 解释以下数据库代表之间的区别: 对象关系管理道数据映射器事件记录表网关 任何示例将不胜感激。 最佳答案 这需要很长的答案。我没有重复其他人在我面前说得更好更详细的话,而是将您链接到
您好,感谢阅读, 我有两个表(使用 tablegateway)projet 和 l_agent_projet它们已正确设置,我可以使用它们来插入、删除、更新等我的数据库 我正在尝试使用此函数连接这两个
我是一名优秀的程序员,十分优秀!