问题标签 [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.
zend-framework2 - ZF2 tableGateway select
I started with the ZendSkeletonApplication and added a model extending Zend\Db\TableGateway\TableGateway. I have the following method:
This works, but now if i do this:
the first one works, the query it executes is:
The second one however executes the following query:
is this expected behavior? If so how can i have the second time i call the method execute the following query:
thanks in advance!
zend-framework2 - Zend Framework 2 分页器 + TableGateway
如何将数据库映射器与分页器一起使用?
我在理解如何使用下面的代码实现 DbSelect 分页器时遇到了一些麻烦(现在它正在使用不适用于 ResultSets 的 Iterator 适配器)。
据我所知,这并不像我希望的那样直截了当。DbSelect 需要一个Zend\Db\Sql\Select
和一个适配器。适配器不是问题,可以通过以下方式检索:
但我无法在Select
不复制查询代码的情况下从 TableGateway 中取出对象。有没有简单的方法来解决这个问题?
新闻控制器.php
新闻内容表.php
zend-framework2 - Zend/ZF2/TableGateway mysql_insert_id 替换?
我正在尝试从 mysql 切换到 Zend / TableGateway 类。
我想知道是否有一种类似于 mysql_insert_id 的方法来获取最后插入的行的自动递增 id。
谷歌搜索,我找到了一些答案,指向 DB-Adapter 的 lastInsertId(),但是,这种方法在 ZF2 中似乎不再可用。另外:插入方法的返回值是返回一个布尔值,而不是 ZF1 中的最后一个 id。
目前我正在使用一个丑陋的解决方法。请看下面的代码。
是否有更好/推荐的获取 ID 的方法?
zend-framework2 - Zend Framework 2 Zend_DB MasterSlaveFeature
该文档提到了通过将 MasterSlaveFeature 传递给 TableGateway 构造函数以及从适配器作为 MasterSlaveFeature 的参数来进行主从的能力。我的问题是如何在实例化 TableGateway 对象时访问该从适配器。
根据快速入门,我正在主要的全局和本地配置文件中设置我的主文件。我将如何配置从适配器以及如何设置多个从适配器?
是否有一个如何做到这一点的工作示例?
更新:我在这方面取得了一些进展。在全局配置文件中,我添加了另一个名为 slave 的数组键,并在那里输入了连接信息。然后我创建了一个 SlaveAdapterServiceFactory 类,它模仿 Zend\Db\Adapter\AdapterServiceFactory 的行为,但获取“slave”配置键值而不是“db”。然后,在我进行主适配器的构造函数注入的模块配置中,我还获取从适配器并将其作为构造函数参数传递给我的模型表,并传递给新的 MasterSlaveFeature 实例。我还必须更改我的模型表类以查找在构造函数中传递的 Feature 内容。由于模态表类扩展了 AbstractTableGateway,我希望它知道如何处理该功能。希望这个假设是正确的。这一切听起来真的很混乱!这是一些代码。首先是 config/autoload 目录中的 global.php:
这是模块的 module.config.php 文件中的代码:
我没有机会测试查询是否真的进入了正确的连接,但我没有收到任何错误。
另一个问题是如何自动将这些适配器传递给任何创建的模型,而不必为您实例化的每个模型执行此操作。
zend-framework2 - Zend 2 - TableGateway Where 子句
嗨,我正在尝试掌握 Zend 2,但我在表网关中的 where 子句方面遇到了一些问题。
下面是我的表类:
模型是这样的:
我有什么作品,但我真的应该能够做类似的事情:
但我想不出正确的方法来做到这一点。
编辑(2012 年 12 月 11 日 07:53):我从 Sam 的回答中尝试了以下内容,但出现错误:
但出现以下错误:
我还想补充一点,我已经阅读了文档并遵循了教程。没有提到在那里使用 Zend\Db\Sql。我无法在 tableGateway 中使用高级 where 子句的示例。我可能遗漏了一些东西,但我认为这并不明显。
php - 具有多个 FROM 表的 TableGateway
我想INNER JOIN
在 Zend2 的两个表之间做一个简单的操作。
具体来说,我想在 Zend2 中这样做:
SELECT * FROM foo, bar WHERE foo.foreign_id = bar.id;
我有一个FooTable
:
$select->from('foo');
返回错误:
==>由于此对象是在构造函数中使用表和/或模式创建的,因此它是只读的。
因此,我无法调整我的 FROM 语句以匹配FooTable
and之间的简单内部连接BarTable
。
zend-framework2 - 插入行时 ZF2 TableGateway 不起作用
当我打算在 DB 中插入一行时,我遇到了一个致命错误。我不明白发生了什么,我阅读了一些博客但没有解决方案,我的代码与 Evan 在他的博客中发布的示例相同。
我的模特班
In module class:
My controller:
我得到这个错误:
可捕获的致命错误:第 258 行的 D:\xampp\htdocs\haystack\vendor\zendframework\zendframework\library\Zend\Db\Adapter\Driver\Pdo\Statement.php 中的类 stdClass 的对象无法转换为字符串
我知道错误的类型('stdClass 无法转换为字符串'),但我不明白发生了什么......
任何帮助表示赞赏
亲切的问候。
zend-framework2 - zf2 - 使用 Zend\Db\TableGateway\TableGateway 加入;
我想使用 zf2 从第一个和第二个表中选择字段进行简单的连接,但是当我尝试将字段数组放入 columns 方法时出现错误(“无法执行语句”)。
mysql - 使用 TableGateway 在 ZF2 中左连接
我有一张桌子:
第二张表:
如何从 blogs_settings 表中选择所有字段,并使用 ZF2 中的 TableGateway 仅加入 users 表中的“用户名”字段,在blogs_settings.owner_id = users.user_id
. 提前致谢。非常感谢您的帮助。
编辑:
}
有了这个,它执行以下查询:
选择blogs_settings
.*, users
. 从username
INNER JOIN ON开始。= 。username
blogs_settings
users
blogs_settings
owner_id
users
user_id
但结果集不包含加入的“用户”表中的用户名字段。但是,当我在 phpmyadmin 中运行查询时,一切正常,并且我已经加入了“用户”表中的“用户名”字段。有什么问题?
编辑 2 好的,我现在尝试了以下操作:
执行的查询是:
当我在 phpmyadmin 中运行它时,它会从用户表中加入用户名字段。在zf2中,它没有。
这是整个对象的转储:
上...有什么想法吗?
zend-framework2 - Zend Framework 2 用户指南中的 AlbumTableGateway
在当前(2.1)ZF2用户指南的“数据库和模型”一章中有一个代码片段,我不明白:
(块“使用ServiceManager配置表网关并注入AlbumTable”)
该变量$sm
稍后将成为 的实例Zend\ServiceManager\ServiceManager
,对吗?Zend\ServiceManager\ServiceManager#get(...) 方法需要一个类名作为第一个参数。但是没有类 AlbumTableGateway。只有两个模型类:Album\Model\Album 和 Album\Model\AlbumTable。
这是指南中的错误还是我错误地理解了代码?
谢谢