Welcome Guest, Not a member yet? Register   Sign In
difference between object and array
#1

[eluser]UnknownPlayer[/eluser]
I have some code, and i need to know which one is better.
Here is code with objects:
Code:
// controller
    function index() {
        $data['cats'] = $this->Home_model->get_all_cats();
        foreach ($data['cats'] as $key => $value) {
            $data['cats'][$key]->videos = $this->Home_model->get_videos_for('home', $data['cats'][$key]->cat_id);  // get videos for that category
        }
        $data['main_content'] = 'pages/home';
        $this->load->view('template', $data);
    }

// model
    function get_all_cats() {
        $query = "SELECT * FROM cats WHERE cat_parent = '0' ORDER BY cat_name";
        $result = $this->db->query($query);
        return $result->result();
    }
    function get_videos_for($page = 'cat', $cat_id) {
        if ($page = 'home') {
            $query = "SELECT * FROM videos WHERE video_cat_id = ? OR video_cat_id IN (SELECT cat_id FROM cats WHERE cat_parent = ?) ORDER BY video_date DESC LIMIT 4";
            $result = $this->db->query($query, array($cat_id, $cat_id));
            return $result->result();
        }
        
    }

and with arrays:
Code:
// controller
    function index() {
        $data['cats'] = $this->Home_model->get_all_cats();
        foreach ($data['cats'] as $key => $value) {
            $data['cats'][$key]['videos'] = $this->Home_model->get_videos_for('home', $data['cats'][$key]['cat_id']);  // get videos for that category
        }
        $data['main_content'] = 'pages/home';
        $this->load->view('template', $data);
    }

// model
    function get_all_cats() {
        $query = "SELECT * FROM cats WHERE cat_parent = '0' ORDER BY cat_name";
        $result = $this->db->query($query);
        return $result->result_array();
    }
    function get_videos_for($page = 'cat', $cat_id) {
        if ($page = 'home') {
            $query = "SELECT * FROM videos WHERE video_cat_id = ? OR video_cat_id IN (SELECT cat_id FROM cats WHERE cat_parent = ?) ORDER BY video_date DESC LIMIT 4";
            $result = $this->db->query($query, array($cat_id, $cat_id));
            return $result->result_array();
        }
        
    }

Now can you suggest me which method should i use ?
Thanks.
#2

[eluser]InsiteFX[/eluser]
I prefer using objects, everyone will have their own way of doing it.
But it really depends on the job at hand.




Theme © iAndrew 2016 - Forum software by © MyBB