1

私はCodeigniterでコースタスクマネージャーモデルに取り組んでおり、get_allメソッドを改善するために他に何ができるかを見つけようとしています。

これはそれを行うための良い方法ですか(以下のコードを参照)?いくつかの値を連結する理由は、コントローラーでの作業を少なくしようとしているためです。これでいい?

これまでのところ、タスクマネージャーは、ユーザー、タスク、task_types(編集、レビューなど)、コースの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();
4

0 に答える 0