我正在玩Zend 3,我有一个问题。
我正在构建一个用于创建和查看时间表的小仪表板。我有“工作表”实体和“客户”实体。
客户端页面相对容易,但我不知道如何使用表格页面进行编程以实现我想要的目的。
我想要做的是:我有一个工作表实体,其中包含id,日期,时间和数据库列,其中保存了客户端的ID。在前端,我现在想显示客户端的名称而不是id。 但这意味着我必须使用客户端模块的getName()函数。 通常我会创建一个新的客户端然后只是要求输入名称。
然而,在用博客帖子的Zend教程构建我的应用程序之后,使用所有工厂和接口,我不知道要创建什么实例以及从哪里获取构造函数变量。
答案 0 :(得分:0)
我确信这有几个答案,但这就是我的做法;
1:为hydrator创建一个策略,通过__construct方法获取客户端存储库。在“水合物”方法中,从存储库中获取客户数据并将其放入工作表模型
2:创建一个名为“injectClient”的可调用类。在__invoke方法中将sheet作为参数。当你得到它时,向客户端存储库询问该表的客户端。你必须在这里加入两个表。它对延迟加载很有用。在第一种方法中,您必须在加载工作表时加载客户端数据。但是这个,你可以在你需要的时候调用它。
我正在使用“必须在那里”数据的第一个答案。喜欢多语言应用程序的语言。第二个是延迟加载。
您也可以使用像doctrine这样的对象映射器。如果你没有提到相反的话,它总是使用延迟加载。