0

我尝试在 GitHub 上遵循本教程(https://github.com/lowtower/zend-expressive2-tutorial

我理解一切(我认为),但我想知道,如果我需要使用 TableGateway 接口关联不同的表会发生什么?

以上述教程为指导,如果我的相册与我数据库中的其他表相关,我该如何在 AlbumTableGateway 中实现呢?例如,如果我有另一个名为类别的表...

或者干脆我必须放弃使用 TableGateway 接口,如果是这样,我如何在本指南中实施这个新解决方案?

4

1 回答 1

0

zf-db 的 Select、Update、Delete 和 Insert 类接受表名作为参数。您不必使用您在 TableGateway 的构造方法中提到的同一张表。你也有 Join as Sql 抽象。看一下文档并不难。我相信你可以处理这个,但这里有一个小例子。

$this->getSql()->select('table1')
               ->columns(['clmn_1','clmn_2'])
               ->join('table2', 'table2.clmn_1 = table1.clmn_2', [])
               ->where(new Operator('table1.clmn_1', Operator::OP_EQ, 3));
于 2018-02-07T08:22:54.260 回答