我有一个 Joomla 票务模块,它在页面的某个部分显示当前用户的当前票证。我想创建用户组,组成员可以在其中查看属于该组的所有票证。我认为最简单的方法是创建 Joomla 组,将用户分配给这些组,当用户登录时,它可以看到其组中的所有票证。我将我的代码添加到函数的开头,但是出了点问题......对于每个用户(当前是“注册”用户)显示相同的结果,最后一个用户票的结果,我不知道为什么:这里是代码:
function gTickets()
{
$user =& JFactory::getUser();
$user_id = (int) $user->get('id');
//get user_group_id from db based on current users id
{...}
//get all users with that user_group_id
$db1->setQuery($db1->getQuery(true)
->select('*')
->from("#__user_usergroup_map")
->where("group_id = '$groupss'")
);
$groupss1=$db1->loadRowList();
$return1=array();
// for every user_id
foreach ($groupss1 as $keya)
{
$user_id = $keya[0]; // the id of users
$where = "";
if ($this->is_staff)
$where .= " AND t.`staff_id`='".$user_id."'";
else
$where .= " AND t.`customer_id`='".$user_id."'";
$tickets = $this->_getList(
"SELECT t.id, t.subject, t.last_reply_customer, s.name AS status_name FROM
#__rsticketspro_tickets t LEFT JOIN #__rsticketspro_statuses s ON
(t.status_id=s.id) WHERE 1 $where ORDER BY `last_reply` DESC", 0,
$this->params->get('tickets_limit', 3));
print_r($tickets);
return $tickets;
}
我有一些问题,我不知道如何寻找......
- sql查询中的字母点字段名是什么?例如:SELECT m.ticket_id, m.message FROM #__ticket_messages m WHERE m.user_id !='".$user_id."
- WHERE之前的“m”是什么意思?
- “1”在这里做什么:WHERE 1 $where
另外,我查看了 ACL 管理器,但无法使其与此代码一起使用。
编辑:感谢您的快速回答!我又得到了 1 个,我认为这很容易,但我无法让它工作......
如果我将 $ticket 数组的内容打印到另一个数组中,我会得到一个包含多个数组的数组。这就是我的代码不起作用的原因......我得到的数组是:
Array (
[0] => stdClass Object (
[id] => 1
[subject] => use1
[last_reply_customer] => 1
[status_name] => open
)
)
Array (
[0] => stdClass Object (
[id] => 3
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
[1] => stdClass Object (
[id] => 2
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
)
我希望数组看起来像这样:
Array (
[0] => stdClass Object (
[id] => 1
[subject] => use1
[last_reply_customer] => 1
[status_name] => open
)
[1] => stdClass Object (
[id] => 3
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
[2] => stdClass Object (
[id] => 2
[subject] => use2
[last_reply_customer] => 1
[status_name] => open
)
)
谢谢!
编辑:这一切实现起来很复杂吗?