以下是模型上的PROCEDURE
:
CREATE DEFINER=`root`@`localhost` PROCEDURE `service_tasks_read`(
IN i_user_id INT(255))
BEGIN
SELECT * FROM tasks LEFT JOIN projects ON tasks.project_id = projects.id WHERE projects.manage_user_id = i_user_id;
END
以下是正在运行的示例结果:
这是storedprocedure的模型:
public function service_tasks_read($aUserId)
{
$r_result = $this->db->query("CALL service_tasks_read('".$aUserId."')");
return $r_result;
}
所以,当我把它打印回我的控制器时:
$aData = $CI->storedprocedure->service_tasks_read($aUserId);
for($i = 0; $i < $aData->num_rows(); $i++)
{
echo('$i '.$i.': ');
print_r($aData->_fetch_assoc($i));
echo('<br/>');
}
结果如下:
$i 0: Array (
[id] => 3
[project_id] => 3
[name] => #SYS#_DEFAULT
[status] => 0
[due_datetime] => 2013
[manage_user_id] => 47
)
$i 1: Array (
[id] => 3
[project_id] => 3
[name] => #SYS#_DEFAULT
[status] => 0
[due_datetime] => 2013
[manage_user_id] => 47
)
$i 2: Array (
[id] => 3
[project_id] => 3
[name] => #SYS#_DEFAULT
[status] => 0
[due_datetime] => 2013
[manage_user_id] => 47
)
$i 3: Array (
[id] => 3
[project_id] => 3
[name] => #SYS#_DEFAULT
[status] => 0
[due_datetime] => 2013
[manage_user_id] => 47
)
它无法显示任务表中的id,project_id,name, status,due_datetime
。我做错了什么?谢谢。
答案 0 :(得分:3)
您只需以对象格式
返回结果即可public function service_tasks_read($aUserId)
{
$r_result = $this->db->query("CALL service_tasks_read('".$aUserId."')");
return $r_result->result(); // for array $r_result->result_array();
}