使用链接表值扩展模型。在 cakephp3 中

Posted

技术标签:

【中文标题】使用链接表值扩展模型。在 cakephp3 中【英文标题】:Extend model with linked table values. In cakephp3 【发布时间】:2015-04-11 00:20:11 【问题描述】:

开始学习cakephp3。 有两张桌子

Task
-id
-task_type

Task_content
-id
-task_id
-some_key
-sove_val

在结果中我想得到一些对象,它看起来像:


id: Task.id,
type: Task.type,
title: Task_content.some_val (where some_key == 'title')
content: Task_content.some_val (where some_key == 'conent')

通过“get”获取Task,获取这个对象的最佳方式是什么?

【问题讨论】:

这个对象看起来有点 JS-ish,如果这就是你要找的东西,那么请提一下。此外,为了让人们向您推荐一个合适的解决方案,如果您详细说明您需要这样一个对象的确切用途,这不会有什么坏处。 是的,结果我想获取 JSON 对象。但我希望它包含一些业务逻辑。 Book 中的所有示例都类似于直接获取和设置。据我了解模式,我不应该在控制器操作方法中“编译”对象...... 【参考方案1】:

您需要创建一个行为来处理这个问题。你可以从 TranslateBehavior 中获得灵感,它做了非常相似的事情:

https://github.com/cakephp/cakephp/blob/master/src/ORM/Behavior/TranslateBehavior.php

【讨论】:

以上是关于使用链接表值扩展模型。在 cakephp3 中的主要内容,如果未能解决你的问题,请参考以下文章

访问 cakephp3 控制器中的非关联表

Entity Framework 4 表值函数

CakePHP3 迭代模型不起作用

求删除链表值为val的节点(此题有改动)

CakePHP 3:保存关联模型失败

CakePHP 3:修改查找数据