2

这是我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

这是运行示例结果: 在此处输入图像描述

这是存储过程的模型:

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任务表中的内容。我做错了什么?谢谢。

4

1 回答 1

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();
}
于 2013-01-29T06:20:17.703 回答