这是我在模型上的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;
}
所以,当我将其打印回 Controller 时,如下所示:
$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
。我做错了什么?谢谢。
最佳答案
您可以简单地以对象格式返回结果
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();
}
关于php - 在 codeIgniter 中连接表后无法显示完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14576391/