3

我正在寻找一种在 ZF2 中使用 TableGateways 在两个表之间创建一对多关系的策略。表一称为“工人”,一个工人有许多“部门”。

现在我想为工人提供一个表格,其中包含一个特殊的 DepartmentFieldset(输入 ID 的文本字段)。

我是这样想的:worker Model 多了一个用于departmentIDs 的类型数组,但是表中没有departmentIDs 的字段。该字段还有一个 getter 和 setter。

编辑操作:在工作人员 TableGateway 的 editAction() 中,我必须填写普通表单 + ID 的表单集合,所以我需要来自两个表的数据。

$worker = $this -> getWorkerTable() -> getWorker($id);
$departments = $this -> getDepartmentWorkerTable() -> getDepartments($id);
$worker -> setDepartmentIds($departments);

worker 模型中的 departmentIDs 字段必须是什么类型,我现在可以使用

$form = new WorkerForm();
$form -> bind($worker);

?

现在让我们假设,数据已发布并验证(验证是在我的模型中使用 getInputFilter() 设置的)。我想保存所有数据:

$this -> getWorkerTable() -> saveWorker($worker);
$this -> getDepartmentWorkerTable() -> saveDepartments($worker);

这是正确的方法吗?我认为如果这可行,则 ADDAction 不是问题。

所以主要的问题是:

如何设置模型来处理一对多关系?exchangeArray() 函数必须如何编写?

我如何使用来自许多房地产表的数据填写带有 ElementCollections 的表格?

我认为主要问题是,如何使用由 TableGateway 填充的实体,该实体还包含一个额外的关系字段。

一些有价值的提示会很棒!

问候,尤里

4

0 回答 0