使用 findAll 时 Yii AR join 不起作用

2024-05-05

我有两张桌子menus and lang_menus. My Menus模型如下:

public function relations()
{
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
                'menulanguages'=>array(self::HAS_MANY, 'MenuLangs', 'menuId'),
    );
}
...
public function getMenus(){
        $criteria = new CDbCriteria();
        $criteria->condition = "t.clientId = ".Yii::app()->user->clientId." AND menulanguages.languageId = ".Yii::app()->user->userlanguage;


        $count = Menus::model()->with('menulanguages')->count($criteria);

        $pages=new CPagination($count);
        //Results per page
        $pages->pageSize=10;
        $pages->applyLimit($criteria);

        $menus = Menus::model()->with('menulanguages')->findAll($criteria);
        return array('menus' => $menus, 'paging' => $pages);
    }

这是抛出错误Unknown column 'menulanguages.languageId'。 错误在行中$menus = Menus::model()->with('menulanguages')->findAll($criteria);.

令人惊讶的是我得到了变量的值$count正确。

通过查看日志,我可以看到为 findAll 查询运行的 SQL 查询是:

SELECT `t`.`id` AS `t0_c0`, `t`.`clientId` AS `t0_c1`, `t`.`restaurantId` AS `t0_c2` FROM `posif_menus` `t` WHERE (t.clientId = 1 AND menulanguages.languageId = 2) LIMIT 10

这意味着连接尚未发生。而正确的连接查询正在针对计数值运行。难道我做错了什么 ? 请帮忙。


只需使用together()CActiveRecord 的 http://www.yiiframework.com/doc/api/1.1/CActiveRecord#together-detail or togetherCDbCriteria 的属性 http://www.yiiframework.com/doc/api/1.1/CDbCriteria#together-detail:

$menus = Menus::model()->with('menulanguages')->together()->findAll($criteria);

or:

$criteria = new CDbCriteria();
$criteria->condition = "t.clientId = ".Yii::app()->user->clientId." AND menulanguages.languageId = ".Yii::app()->user->userlanguage;
$criteria->together=true;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 findAll 时 Yii AR join 不起作用 的相关文章

  • PHP中如何识别服务器IP地址

    PHP中如何识别服务器IP地址 对于服务器 ip 来说是这样的 SERVER SERVER ADDR 这是港口的 SERVER SERVER PORT
  • Zend Framework Zend_Form 装饰器: 位于按钮元素内部?

    我有一个像这样创建的按钮元素 submit new Zend Form Element Button submit submit gt setLabel My Button submit gt setDecorators array Vie
  • 如何在 codeigniter 查询中使用 FIND_IN_SET?

    array array classesID gt 6 this gt db gt select gt from this gt table name gt where array gt order by this gt order by q
  • 检查文件权限

    我怎样才能检查file permissions 无需通过运行操作系统特定命令passthru or exec Use 文件权限 http php net fileperms功能 clearstatcache echo substr spri
  • PHP cURL 在本地工作,在 AWS 服务器上出现错误 77

    最新更新 脚本作为管理员用户通过 SSH shell 作为 php script php 成功运行 当由 nginx 用户运行时 curl 命令无法执行 https 请求 所以我猜测这是nginx用户无法正确使用curl的问题 我已经检查了
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function
  • 如何确定当前使用哪个网格选项

    我将 Bootstrap 3 用于使用 PHP 和 HTML 创建的网页 随着响应式网格和类的开启引导程序3您可以将多个类分配给一个 div 以根据当前屏幕尺寸定义不同的宽度 例如 div class col lg 3 col md 3 c
  • 包含包含文件的 php 文件

    这是目录结构 global php includes class bootstrap php includes init php plugins myplugin php 这是这些文件中的代码 start php require inclu
  • 如何将 'IN (1,2,3)' 与 findAll 一起使用?

    我需要从数据库中获取几个学生 并且我将他们的主键放在以逗号分隔的字符串中 通常使用 SQL 会是这样的 cleanedStudentIdStringList 1 2 3 4 SELECT FROM Student WHERE id IN c
  • 重新排列数组键 php [重复]

    这个问题在这里已经有答案了 我有这个数组 Array 15 gt 13 1 16 gt Mark one answer 19 gt You see a car on the hard shoulder of a motorway with
  • 选取散列第 N 个元素的最快方法

    我有一个大哈希表 带有字符串索引的数组 并正在寻找一个函数quickly从中选取第一个 理想情况下也是第 N 个 元素 array shift and reset 对于我的需求来说太慢了 UPDATE 我也不是在寻找基于引用的解决方案 该函
  • PHP 错误警告:参数 1 应该是引用

    我 熟悉 PHP 我的朋友的网站因错误而崩溃 Warning Parameter 1 to Some function name expected to be a reference value given in public html i
  • PHP 错误:“无法通过引用传递参数 2”

    我只是需要有关这个 PHP 错误的帮助 我不太明白 致命错误 无法在第 13 行 web stud openup inactivatesession php 中通过引用传递参数 2
  • UTF-8、PHP、Win7 - 现在是否有解决方案可以使用 php 在 Win 7 上保存 UTF-8 文件名?

    更新 只是为了不让您阅读所有内容 PHP 开头 7 1 0alpha2 在 Windows 上支持 UTF 8 文件名 感谢阿纳托尔 贝尔斯基 根据 stackoverflow 上的一些链接 我找到了部分答案 https stackover
  • magento成功页面变量

    我正在尝试捕获一些 magento 成功页面变量以传递给我们的广告公司 到目前为止 我已经得到了这个 但变量没有输出任何内容 数据需要采用以下格式 price1 price2 price3 qty1 qty2 qty3 sku1 sku2
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent
  • 接口中的构造方法

    接口中的构造方法不好吗 为什么人们认为有人想要实例化接口 我们想要做的是强制实现者实现构造函数 就像其他接口方法一样 接口就像一个合同 假设我有一个接口 Queue 并且我想确保实现者创建一个带有一个参数的构造函数 该构造函数创建一个单例队
  • 合并 url 中的 2 个输入值

    我有这样的形式
  • 谷歌日历手表过期时间超过1个月怎么办?

    我将我的 CRM 系统与 Google 日历同步 为此 我要求push notifications从我的用户 Google 日历到我的系统 我已经成功创建了手表 并将过期时间设置为2030年 但是当我收到手表事件的响应时 它显示手表的过期时
  • 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

    我的表结构 table marks 我的目标 我想用条件插入或更新多条记录 我目前正在通过此查询进行检查 第一步 SELECT FROM marks WHERE student 115 AND param 1 第二步 if records

随机推荐

  • 在 unnest_wider 之后命名提升向量中的列

    在使用 tidyr 1 0 的一些新功能时 我遇到了一些令人头疼的问题 我用过boxplot stats获取我想用来绘制的箱线图值向量 我已经成功地完成了此操作 但我相信有更好的方法来命名新的未嵌套向量的列 这是当前设置 library t
  • 重复符号_OBJC_CLASS_$_LoginController

    我知道这个问题以前已经被问过很多次了 但到目前为止还没有解决我的问题 我知道当您在项目中获得文件的多个副本时 会发生此错误 我尝试清理构建 删除任何登录控制器 m文件输入编译源然后构建 很好 没有错误 当我在编译源中添加 LoginCont
  • 控制台界面教程和提示 (pdcurses)

    我正在寻找有关使用 PDCurses 库的教程 不幸的是 只有文本文档 这更像是函数参考 pdcurses 是否与 ncurses 足够相似以使用 ncurses 教程 关于制作控制台 UI 的任何提示 附言 PDCurses mingw3
  • Vagrant - Homestead 设置多个站点

    我已经使用 homestead yaml 映射了文件夹等 ip 192 168 10 10 folders map Users User Desktop folder Homestead First to home vagrant Firs
  • 使用EF Core调用存储过程并关闭连接

    我有一个使用 EF Core 的 ASP NET Core 2 2 应用程序 我有一个服务类 通常使用DbContext用于任何 CRUD 操作 然而 在其中一种方法中 Assign下面的方法 我需要使用存储过程 所以我使用以下代码 注意D
  • 在重复键上仅更新 Null 或空值

    我有一个 mysql 查询来合并主键 IMO 上的两个表 查询工作正常 但我遇到的问题是在重复键更新时 我只想更新 wp second 表的那些没有值的字段 简而言之 在重复键上 wp second 值仅应在 null 或空时更新 这是我到
  • polyfit numpy 的反向输出

    我使用了 numpy 的 polyfit 并获得了两个数组 x 和 y 的非常好的拟合 使用七阶多项式 我的关系是这样的 y x p 0 x 7 p 1 x 6 p 2 x 5 p 3 x 4 p 4 x 3 p 5 x 2 p 6 x 1
  • UCM 中的复合基线是什么以及何时使用它?

    UCM 中的综合基线是什么 什么时候会用到 主要是当我们有多个组件的时候才会使用它吗 关于 复合基线 的参考文献是 在 UCM 中使用复合基线的最佳实践 http www ibm com developerworks rational li
  • 在 pandas dataframe python 列中搜索单词

    我有两个文本列 我想查找一列中的单词是否存在于另一列中 我编写了下面的代码 它运行得很好 但它会检测字符串中的任何位置是否存在单词 例如 它将在 ham 中查找 ha 我想改用正则表达式 但我被困住了 我遇到了这个post https st
  • bash 用变量值替换字符串中的变量名

    这有点奇怪 我有以下字符串 我有一个名为 REDIRECT 的变量设置为 https working MYDOMAIN blah blah 我需要将 MYDOMAIN 替换为分配给 MYDOMAIN 的变量的实际值 不确定 bash 还是
  • Java机器学习库可以商用吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道我可以将其用于商业产品的优秀 Java 机器学习库吗 不幸的是 Weka 和 Rapidmin
  • 验证远程图像实际上是 ruby​​ 中的图像文件?

    我试图弄清楚如何验证我输入载波的内容实际上是图像 我获取图像网址的来源并没有返回所有实时网址 有些图像已不复存在 不幸的是 它并没有真正返回正确的状态代码或任何内容 因为我正在使用一些代码来检查远程文件是否存在并且它通过了该检查 因此 现在
  • 使用 Apache Batik 将 SVG 图像转换为 JPEG 图像

    我正在尝试将 SVG 图像转换为 JPEG 如下所示https xmlgraphics apache org batik using transcoder html createImage https xmlgraphics apache
  • res.redirect 不会重定向 Node/Express.js

    我正在为我的 web 应用程序使用 Express 并检查会话中是否存在某些值 将用户重定向到 Instagram 登录页面 但在控制台中我不断收到 302 代码 并且浏览器不会重定向用户 这是我的代码 我正在使用 Ajax 发送我的请求
  • 如何将子记录添加到现有父记录中?

    我一直在 Google 和 Stack Overflow 上搜索有关这个主题的某种提示 但信息充其量是分散的 我正在尝试创建一个新的子记录 Comment 并将其保存到现有的父记录 Post 我使用的是 Ember Model 而不是 Em
  • 使用 JSON 将 iTunes 中的图像解析为 tableviewcontroller

    我正在尝试从中解析数据数据源 http ax itunes apple com WebObjects MZStoreServices woa ws RSS topsongs limit 30 json 标题已正确解析并显示 但解析图像时出现
  • Wordpress 数组显示特定类别的帖子并显示帖子摘录和功能

    大家好 正在寻找 WordPress 帮助 我需要放置一个简单的查询 数组来显示来自某只猫的帖子 例如 新闻 其中将包含帖子特色图像 有人可以帮忙吗 Gary Try this a href title a
  • ES6 Promise 返回值的执行顺序

    尝试了解 ES6 Promise 的执行顺序 我注意到链式处理程序的执行顺序受到前一个处理程序返回值还是 Promise 的影响 Example let a Promise resolve a then v gt Promise resol
  • 无法启动redis.service:单元redis-server.service被屏蔽

    我在 ubuntu 16 04 上安装了 Redis 服务器 但是当我尝试使用启动redis服务时 sudo systemctl start redis 我收到消息 Failed to start redis service Unit re
  • 使用 findAll 时 Yii AR join 不起作用

    我有两张桌子menus and lang menus My Menus模型如下 public function relations NOTE you may need to adjust the relation name and the