Php Modx revo check on member group返回一个数组,如何将其转换为字符串以用于查询?
我正在modx中开发一个自定义组件,客户端要求按资源组id搜索该组件。我使用以下代码将代码片段拉入资源组id:Php Modx revo check on member group返回一个数组,如何将其转换为字符串以用于查询?,php,arrays,modx,Php,Arrays,Modx,我正在modx中开发一个自定义组件,客户端要求按资源组id搜索该组件。我使用以下代码将代码片段拉入资源组id: // Check if user is logged in and get user group $user = (!empty($userId)) ? $modx->getObject('modUser', $userId) : $modx->user; if (is_object($user)) { /* * modUser Groups *
// Check if user is logged in and get user group
$user = (!empty($userId)) ? $modx->getObject('modUser', $userId) : $modx->user;
if (is_object($user)) {
/*
* modUser Groups
*/
$group = print_r($user->getUserGroups(), true);
$modx->toPlaceHolder('user.groups', $group);
}
但是$group作为数组返回,因此我不能在查询中使用它:
Array ( [0] => 8 )
我试着这样称呼它:return$group[0]
但这只是把第一个字母“A”甩了
基本上,我只想将数组中的值放入变量中,然后在搜索查询中使用它:
$query->where(array('accNumber:LIKE' => "%$accNo%"));
$query->andCondition(array('accName:LIKE' => "%$accName%"));
$query->andCondition(array('saleProperty:LIKE' => "%$saleProperty%"));
$query->andCondition(array('clientNumber' => "$group"));
在使用数组之前,我是否需要将数组的内容转换为字符串?对不起,如果问题是noobish,但我是noob 只需删除
print\r
->$group=$user->getUserGroups()
,然后重试返回$group[0]代码>是-您必须转换它,但它返回一个数组,因为任何给定的用户都可以属于多个组,如果您的客户决定更改他们管理用户的方式,您可以提前计划该组 如前所述,删除print\r()
以便$groups将包含一个数组
$group = $user->getUserGroups();
然后调整最终的和条件()
如下(:IN
需要一个数组):
完美。非常感谢。
$query->where(array('accNumber:LIKE' => "%$accNo%"));
$query->andCondition(array('accName:LIKE' => "%$accName%"));
$query->andCondition(array('saleProperty:LIKE' => "%$saleProperty%"));
$query->andCondition(array('clientNumber:IN' => $group));