首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在中使用CFWheels查询

在中使用CFWheels查询
EN

Stack Overflow用户
提问于 2012-11-29 23:24:44
回答 1查看 445关注 0票数 0

我有一个简单的值数组(缩写),我需要遍历它们并检查另一个db表中的外键。在MySQL中,我会使用In子句,但在CFWheels和MySQL中,我不确定该如何操作。

我首先查询users表,并获得该用户所属的组的列表。此信息(不是我的所作所为)以逗号分隔的列表形式存储在users.groups列中。然后,我需要遍历该列表,并从groups.title列中获取每个组的标题。我认为它应该类似于下面的代码,但它出错了,有什么想法吗?

另外,如何在一个查询中使用"include“,即CFWheels中的连接?

代码语言:javascript
复制
user = model("user").findAll(
    select="groups",
    where="userid = '#params.userid#'"
);

// remove trailing comma from list
groups = left(user.groups,len(user.groups)-1);

groups = listToArray(groups);

group_titles = model("groups").findAll(
    select="title",
    where="abbr IN (#groups#)"
);
EN

回答 1

Stack Overflow用户

发布于 2012-11-30 22:22:57

您需要将列表中的每个值括在单引号中,而不是将列表转换为数组。

代码语言:javascript
复制
user = model("user").findAll(
  select="groups",
  where="userid='#params.userid#'"
);

group_titles = model("groups").findAll(
  select="title",
  where="abbr IN (#ListQualify(groups, "'")#)"
);

在中,如果传入的是数字或布尔值,则需要用单引号将字符串括起来或省略引号。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13629015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档