问题标签 [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.

0 投票
1 回答
11098 浏览

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!

0 投票
5 回答
7738 浏览

zend-framework2 - Zend Framework 2 分页器 + TableGateway

如何将数据库映射器与分页器一起使用?

我在理解如何使用下面的代码实现 DbSelect 分页器时遇到了一些麻烦(现在它正在使用不适用于 ResultSets 的 Iterator 适配器)。

据我所知,这并不像我希望的那样直截了当。DbSelect 需要一个Zend\Db\Sql\Select和一个适配器。适配器不是问题,可以通过以下方式检索:

但我无法在Select不复制查询代码的情况下从 TableGateway 中取出对象。有没有简单的方法来解决这个问题?

新闻控制器.php

新闻内容表.php

0 投票
2 回答
4347 浏览

zend-framework2 - Zend/ZF2/TableGateway mysql_insert_id 替换?

我正在尝试从 mysql 切换到 Zend / TableGateway 类。

我想知道是否有一种类似于 mysql_insert_id 的方法来获取最后插入的行的自动递增 id。

谷歌搜索,我找到了一些答案,指向 DB-Adapter 的 lastInsertId(),但是,这种方法在 ZF2 中似乎不再可用。另外:插入方法的返回值是返回一个布尔值,而不是 ZF1 中的最后一个 id。

目前我正在使用一个丑陋的解决方法。请看下面的代码。

是否有更好/推荐的获取 ID 的方法?

0 投票
1 回答
1571 浏览

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 文件中的代码:

我没有机会测试查询是否真的进入了正确的连接,但我没有收到任何错误。

另一个问题是如何自动将这些适配器传递给任何创建的模型,而不必为您实例化的每个模型执行此操作。

0 投票
1 回答
13923 浏览

zend-framework2 - Zend 2 - TableGateway Where 子句

嗨,我正在尝试掌握 Zend 2,但我在表网关中的 where 子句方面遇到了一些问题。

下面是我的表类:

模型是这样的:

我有什么作品,但我真的应该能够做类似的事情:

但我想不出正确的方法来做到这一点。

编辑(2012 年 12 月 11 日 07:53):我从 Sam 的回答中尝试了以下内容,但出现错误:

但出现以下错误:

我还想补充一点,我已经阅读了文档并遵循了教程。没有提到在那里使用 Zend\Db\Sql。我无法在 tableGateway 中使用高级 where 子句的示例。我可能遗漏了一些东西,但我认为这并不明显。

0 投票
1 回答
8349 浏览

php - 具有多个 FROM 表的 TableGateway

我想INNER JOIN在 Zend2 的两个表之间做一个简单的操作。

具体来说,我想在 Zend2 中这样做:

SELECT * FROM foo, bar WHERE foo.foreign_id = bar.id;

我有一个FooTable

$select->from('foo');返回错误:

==>由于此对象是在构造函数中使用表和/或模式创建的,因此它是只读的。

因此,我无法调整我的 FROM 语句以匹配FooTableand之间的简单内部连接BarTable

0 投票
1 回答
2339 浏览

zend-framework2 - 插入行时 ZF2 TableGateway 不起作用

当我打算在 DB 中插入一行时,我遇到了一个致命错误。我不明白发生了什么,我阅读了一些博客但没有解决方案,我的代码与 Evan 在他的博客中发布的示例相同。

我的模特班

code>

In module class:

My controller:

我得到这个错误:

可捕获的致命错误:第 258 行的 D:\xampp\htdocs\haystack\vendor\zendframework\zendframework\library\Zend\Db\Adapter\Driver\Pdo\Statement.php 中的类 stdClass 的对象无法转换为字符串

我知道错误的类型('stdClass 无法转换为字符串'),但我不明白发生了什么......

任何帮助表示赞赏

亲切的问候。

0 投票
2 回答
2729 浏览

zend-framework2 - zf2 - 使用 Zend\Db\TableGateway\TableGateway 加入;

我想使用 zf2 从第一个和第二个表中选择字段进行简单的连接,但是当我尝试将字段数组放入 columns 方法时出现错误(“无法执行语句”)。

0 投票
7 回答
31693 浏览

mysql - 使用 TableGateway 在 ZF2 中左连接

我有一张桌子:

第二张表:

如何从 blogs_settings 表中选择所有字段,并使用 ZF2 中的 TableGateway 仅加入 users 表中的“用户名”字段,在blogs_settings.owner_id = users.user_id. 提前致谢。非常感谢您的帮助。

编辑:

}

有了这个,它执行以下查询:

选择blogs_settings.*, users. 从usernameINNER JOIN ON开始。= 。usernameblogs_settingsusersblogs_settingsowner_idusersuser_id

但结果集不包含加入的“用户”表中的用户名字段。但是,当我在 phpmyadmin 中运行查询时,一切正常,并且我已经加入了“用户”表中的“用户名”字段。有什么问题?

编辑 2 好的,我现在尝试了以下操作:

执行的查询是:

当我在 phpmyadmin 中运行它时,它会从用户表中加入用户名字段。在zf2中,它没有。

这是整个对象的转储:

上...有什么想法吗?

0 投票
1 回答
710 浏览

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。

这是指南中的错误还是我错误地理解了代码?

谢谢