有没有更好的方法在Codeigniter中编写get_all模型方法?

时间:2013-01-24 16:48:20

标签: model codeigniter-2

我正在使用Codeigniter中的课程任务管理器模型,我试图找出我还能做些什么来改进get_all方法。

这是一个很好的方法吗(参见下面的代码)?我连接一些值的原因是因为我试图在控制器中做更少的工作。这可以吗?

到目前为止,任务管理器使用4个表 - 用户,任务,任务类型(编辑,审查等)和课程

这是代码

function get_tasks(){

    $query = $this->db->query(' 
    SELECT 

            tasks.id,
            tasks.created,
            tasks.expires,

            types.name as type,
            courses.name as course,

            CONCAT_WS(" ", assigned_by.first_name, assigned_by.last_name) as assigned_by,
            CONCAT_WS(" ", users.first_name, users.last_name) as user

        FROM
            '.$this->tables['tasks'].' tasks
        LEFT JOIN 
            '.$this->tables['types'].' types ON (types.id = tasks.type_id)
        LEFT JOIN 
            '.$this->tables['users'].' assigned_by ON (assigned_by.id = tasks.assigned_by_id)
        LEFT JOIN 
            '.$this->tables['users'].' users ON (users.id = tasks.user_id)
        LEFT JOIN 
            '.$this->tables['courses'].' courses ON (courses.id = tasks.course_id)

        ORDER BY 
            tasks.created ASC'
    ); 

    return $query->result();

}

这就是我在控制器中调用方法的方法:

$this->load->model('Task_model', 'task');

$this->data['tasks'] = $this->task->get_tasks();

0 个答案:

没有答案