问题标签 [tablegateway]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - ZF 1.12 和 NULL 约束
我使用 ZF 1.12 和网关型号。我的问题是使用模型获取数据,因为某些外键可能为 NULL,所以当我要求 findDependentRowset() 时出现异常:Invalid parameter number: no parameters were bound, query was: SELECT `CodebookCar`.* FROM `CodebookCar` WHERE (`id` = ?)
我不知道如何从数据库中获取数据。真的可以使用网关模式还是我必须使用 LEFT JOIN?
php - 使用 Zend tableGateway 在一个表上插入并更新另一个表
假设您有一个名为 orders 的模块,当它添加时,它应该更新另一个模块(另一个模块的表)上的值,并且 orders 确实包含另一个模块的 id 它的表。我打算用 Zend 的 TableGateway 来做这件事,但我不知道如何改变其他表。
php - 从同一个控制器文件访问 2 个不同的表
我已成功完成 Zend Framework 2 手册中的专辑表教程。我已经使用 tablegateway 实现了。我可以看到他只使用了一张名为“album”的表,因此他根据那张表实施。
假设我有另一个名为“艺术家”的表,其中包含该“专辑”表中每个艺术家的信息。
现在在手册中,他只是使用:
现在我想用“艺术家”表做类似的事情,这样我的查询就可以像:
那么我应该更改或添加什么?我已经在 mySql 中创建了包含以下列的艺术家表:名称、出生日期、国家/地区。
PS:我不会使用连接或任何 atm。只想访问同一控制器(同一模块)中的第二个表。
解决方案: 在 Venca 的帮助下,我能够解决这个问题:以下是您应该如何编辑 2 个或更多表的出厂设置。
现在您可以从控制器访问这两个表。问题解决了。一天过得很好。
php - Zend Framwork 2 - Tablegateway - 仅更新数据库中一行的一列
我有一个名为 users 的表。它具有以下列:
ID
姓名
用户名
电子邮件
用户不能编辑此表中的任何数据,除了用户名列。问题是当用户想要编辑他的用户名时,ZF2 Tablegateway 中的查询是什么?
在我的控制器中,我有一个名为 getUserTable() 的函数,也是在 ZF2 手册中创建的。所以我正在做类似的事情:
在 Model 文件夹中的 UserTable.php 类中,我有一个名为 updateUser($id, $name) 的函数。
我的功能目前看起来像这样:
所以基本上我想要实现的是:
更新用户集 'username' = $username where 'id' = $user_id
zend-framework2 - 使用 zend 框架 2 tableGateway 在 FROM 子句中的子查询上生成一个有点复杂的查询
我正在尝试使用 Zend Framework 2 tableGateway 生成以下查询。
以下是我到目前为止所得到的
我只需要让子查询的左连接就可以工作。我无法弄清楚我需要组合 from 和 join 方法的哪种组合。我现在已经挣扎了 3 个小时,尽管我会寻求帮助。任何帮助将不胜感激
根据@peterpeterson 的建议,这是我尝试的新查询
运行我运行它我得到以下错误:
由于此对象是在构造函数中使用表和/或模式创建的,因此它是只读的。
也许我仍然没有正确地形成查询。我正在使用 tableGateway。也许不可能通过 tableGateway 进行这种查询?
zend-framework - ZF2 - 在模型表中加入 TableGateway
如何使用 TableGateway 在模型表中进行 JOIN?
我的模型/NoticiasTable.php 中有这个:
它没有显示任何错误,但结果是空的......如果我删除“加入”它就可以工作。那么,如何在模型表中使用 JOIN 呢?
php - Zend 2:如何在我当前的模型中使用另一个模型中定义的方法?
我尝试以不同的方式解决这个问题,但似乎没有任何效果。我有 2 个模型:
我现在的模型:
在AttachmentTable
模型中,我需要使用模型中的getAttachment
方法UsersMetaTable
。我怎样才能在 Zend Frenework 2 中做到这一点?
我的两个模型定义在Modele.php
:
mysql - Zend Framework 2 tableGateway 的 Sql 查询
我是 Zend Framework 2 的新手,我目前正在为一个学校项目编写一个论坛。我有一个无法使用 Db Sql Select 对象和 tableGateway 管理的查询。我刚刚使用了一个 Db 适配器,它工作正常,但我正在寻找一种通过使用 Db Sql Select 对象来传递我的查询的方法,因为我稍后需要使用分页器。
这是我所拥有的:
关于如何使用 Zend\Db\Sql\Select 执行此查询的任何想法?谢谢 !
zend-framework2 - ZF2 - 选择表达式更改
在 2.2.7 的项目中有这样的代码:
$select->where->expression('CXORDERNUMBER = "' . $orderNumber . '"', null);
尝试为 2.4.9 更新此内容时,出现以下错误:
*Zend\Db\Sql\Exception\RuntimeException
表达式中的替换次数与参数个数不匹配*
我不得不将其更改为以下内容,这对我来说也更熟悉:
$select->where(array("CXORDERNUMBER" => $orderNumber));
代码中有很多这样的表达式。有时我无法以上述方式更改它。有人可以解释一下,为什么在较新版本的 ZF 中会发生这种情况?
谢谢!
更新:
表达式必须像这样使用: $select->where->expression('CXORDERNUMBER = ?', array($orderNumber));
在 2.4.9 中,始终有一个参数集,并且不会像在 2.2.7 中那样被忽略,并且具有空值