0

我正在尝试从视图中的模型查询访问结果集。我有以下内容:

控制器:

           $courseId = $this->session->userdata('courseId');
            //echo "Course: ".$courseId;
            if(isset($courseId) && $courseId != '')
            {           
                $result = $this->Course_model->loadBasicDetailsEdit($courseId);
                $data['basicCourseDetails'] = $result;
                $this->load->view('course/basicDetails', $data);
            }

模型:

function loadBasicDetailsEdit($courseId)
    {
        $this->db->select('*');
        $this->db->where('course_id', $courseId);    
        $this->db->from('course');
        $query = $this->db->get();
        if ( $query->num_rows() > 0 ) 
        { 
          return $query->result(); 
        } else { 
            return FALSE;   
        }   
    }

在视图中我尝试 print_r() 并得到了这个:

Array ( [0] => stdClass Object ( [course_id] => 8 [title] => Photography [summary] => [description] => [price] => [member_id] => 12 [category] => [audience] => [goals] => [date] => 2013-09-26 [production] => 0 ) ) 

我尝试使用 $basicCourseDetails->title 或 $basicCourseDetails['title'] 访问它,但两者都不起作用。关于为什么会发生这种情况的任何提示?

问候,

4

3 回答 3

1

尝试这个:

foreach($basicCourseDetails as $basic){
    echo($basic->title);
}

或类似的东西:

echo($basicCourseDetails[0]->title);
于 2013-09-26T19:58:13.390 回答
0

这是一个对象数组

Array ( [0] => stdClass Object ( [course_id] => 8 [title] => Photography [summary] => [description] => [price] => [member_id] => 12 [category] => [audience] => [goals] => [date] => 2013-09-26 [production] => 0 ) ) 

stdObject在数组中包含一个,因此,第一个对象是0,如果有更多,那么第二个项目可能有索引1,依此类推。要从第一个(这里只有一个)检索数据,stdobject您可以使用

echo $basicCourseDetails[0]->title; // title will be printed
于 2013-09-26T20:28:23.840 回答
0

您可以通过上述问题中提到的这行代码将数据发送到视图页面。

$result = $this->Course_model->loadBasicDetailsEdit($courseId);
                $data['basicCourseDetails'] = $result;
                $this->load->view('course/basicDetails', $data);

但是当您要在视图中访问这些数据时,您需要通过在视图页面中使用 foreachloop 来逐一访问所有数据。

例如,如果您在课程文件夹中有一个类似 basic_details.php 的视图页面,那么您需要编写这样的代码来访问这些数据。

foreach ($basicCourseDetails as $key => $value) {
            $name = $value->name;
}

上面的 foreachloop 可以写在要访问数据的视图页面中。

于 2019-01-12T18:52:24.193 回答