我在使用codeigniter从mysql检索值时遇到一个问题。
我有一个表名称任务,并且其中有一个字段signedUserid。
表格-任务:
id | title | assigneduserid ------------------------------------- 1 | Workspace | 23,21
表-用户
id | title ----------------- 23 | Ashish 21 | Ritesh
在assigneduserid字段中,该字段中有两个值为23,21。
我想使用该assigneduserid从用户表中打印两个用户名: Ashish,Ritesh 。
我也想按 assigneduseid* 中的升序设置该值 *
我正在尝试使用回显在页面上打印该记录,如下所示
以下是我正在打印的代码:
<?php echo $task_row->usertitle;?>
上面的代码仅打印 Ashish 。
但我想印 Ashish,Ritesh
以下是我的模型。
function getTask($id, $is_master_admin) { $this->db->select('workspace.title as workspacetitle, user.title as usertitle,task.*'); $this->db->join(WORKSPACE, WORKSPACE . '.id = ' . TASK . '.workspaceid', 'inner'); $this->db->join(USER, USER . '.id = ' . TASK . '.assigneduserid', 'inner'); $this->db->from(TASK); if (!$is_master_admin) { $this->db->where(USER . '.id', $id); } $this->db->where(TASK . '.tasktypeid', '1'); $query = $this->db->get(); if ($query->num_rows() > 0) { return $query->result(); } else { return false; } }
谢谢高级
用这个
function getTask($id, $is_master_admin) { $this->db->select('task.*, workspace.title as workspacetitle, GROUP_CONCAT( user.title ) AS usertitle,task.assigneduserid,user.id',FALSE); $this->db->join(WORKSPACE , WORKSPACE . '.id = ' . TASK . '.workspaceid', 'inner'); $this->db->join(USER,("FIND_IN_SET(USER .id , TASK.assigneduserid)"), 'inner'); $this->db->from(TASK); $this->db->group_by("task.id"); if (!$is_master_admin) { $this->db->where ("FIND_IN_SET($id, task.assigneduserid)"); } $this->db->where(TASK . '.tasktypeid', '1'); $query = $this->db->get(); if ($query->num_rows() > 0) { return $query->result(); } else { return false; } }