php - cake php 2中的嵌套模型关系
问题描述
我有一个社交媒体,比如在 cake php 2 上运行的项目。在此我有模型Message,MessageShare and MessageShareStatus
。
我已经定义了模型关系如下。
Message hasOne MessageShare
MessageShare hasOne MessageShareStatus
Message 与 MessageShareStatus 没有直接关系。
$options['conditions'] = ....
$options['contain'] = ['MessageShare','MessageShare.MessageShareStatus'];
$this->Message->MessageShare->hasOne['MessageShareStatus']['conditions']['user'] = 1;
$this->Message->recursive = 1;
$this->Message->MessageShare->recursive = 2;
$this->Message->find ( 'all', $options );
在执行上述操作时,查询独立执行,如
SELECT * FROM messages LEFT JOIN message_shares ON ...
SELECT * FROM message_share_statuses where user = 1 and ...
我想要如下查询。单个查询中的三个表。
SELECT * FROM messages LEFT JOIN message_shares ON .. LEFT JOIN message_share_statuses ON ....
我无法从 message_share_status 表中选择字段作为$options['fields'] = array('...','MessageShareStatus.msg_status');
尝试了不同的方法来修复,但没有成功。任何帮助表示赞赏。我是 cakephp 的新手
解决方案
推荐阅读
- javascript - 将数据从客户端发送到 Spring 控制器时出现 415 错误代码
- import - 将数据层应用程序导入 Azure SQL 服务器的问题
- java - Webview 不适用于 Android 8.0 (OREO) 上的 Scorm
- swift - Unable to initialise UIImage in TableCellView
- angular - ng 测试返回“0 个测试完成”
- javascript - javascript - 从用户输入转换多个代码并将转换后的字符显示为字符串
- c++ - 如何使用 boost log 防止内存增长?
- javascript - Serverless-webpack 部署脚本在 Webpack 4.8 中“挂起”,而在 3.12 中运行正常。
- javascript - 使用带有 nodejs 的 tesseract 获取无效回调
- java - 如何使用 JPA EclipseLink 启用 Unicode 编码?