Welcome Guest, Not a member yet? Register   Sign In
MY_Model Base CRUD Model
#32

[eluser]darkhouse[/eluser]
First, great work. This will definitely save me some time.

What's the best practice when you need to use order_by? Do you just create a model function like you would normally, and then use $this->get_many_by() or $this->get_all()? Seems like it should be part of the base model, but I'm not really sure what the best way to handle it would be considering you're using func_get_args to manage the where data.

Edit: I just realized there's an order_by method, so I'm guessing the best practice is to do:
Code:
$this->some_model->order_by('title');
$stuff = $this->some_model->get_all();

Also, maybe you have your reasons for doing it the way you did it, but I think you could change the insert_many function from this:
Code:
public function insert_many($data) {
        $ids = array();
        
        foreach ($data as $row) {
            $data = $this->_run_before_create($row);
                $this->db->insert($this->table, $row);
            $this->_run_after_create($row, $this->db->insert_id());
    
            $ids[] = $this->db->insert_id();
        }
        
        return $ids;
    }

to this:
Code:
public function insert_many($data) {
        $ids = array();
        
        foreach ($data as $row) {
            $ids[] = $this->insert($row);
        }
        
        return $ids;
    }

Just gets rid of some redundancy. I'm a fan of DRY, I noticed you did that for get_many_by using get_all, so I figured why not this function.


Messages In This Thread
MY_Model Base CRUD Model - by El Forum - 11-08-2009, 07:02 AM
MY_Model Base CRUD Model - by El Forum - 11-08-2009, 07:43 AM
MY_Model Base CRUD Model - by El Forum - 11-08-2009, 10:58 AM
MY_Model Base CRUD Model - by El Forum - 11-08-2009, 11:01 AM
MY_Model Base CRUD Model - by El Forum - 11-08-2009, 05:06 PM
MY_Model Base CRUD Model - by El Forum - 11-09-2009, 09:05 AM
MY_Model Base CRUD Model - by El Forum - 11-09-2009, 12:15 PM
MY_Model Base CRUD Model - by El Forum - 11-09-2009, 12:28 PM
MY_Model Base CRUD Model - by El Forum - 12-02-2009, 03:09 AM
MY_Model Base CRUD Model - by El Forum - 12-02-2009, 03:22 AM
MY_Model Base CRUD Model - by El Forum - 12-17-2009, 05:02 PM
MY_Model Base CRUD Model - by El Forum - 12-18-2009, 07:19 AM
MY_Model Base CRUD Model - by El Forum - 12-18-2009, 07:48 AM
MY_Model Base CRUD Model - by El Forum - 01-04-2010, 01:28 PM
MY_Model Base CRUD Model - by El Forum - 01-04-2010, 04:36 PM
MY_Model Base CRUD Model - by El Forum - 01-04-2010, 08:37 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 02:16 AM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 02:57 AM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 03:19 AM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 03:27 AM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 12:37 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 12:43 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 12:46 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 12:48 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 12:52 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 12:59 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 01:12 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 03:31 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 04:15 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 04:26 PM
MY_Model Base CRUD Model - by El Forum - 01-17-2010, 08:20 PM
MY_Model Base CRUD Model - by El Forum - 01-23-2010, 06:36 PM
MY_Model Base CRUD Model - by El Forum - 03-06-2010, 09:20 AM
MY_Model Base CRUD Model - by El Forum - 03-09-2010, 05:43 AM
MY_Model Base CRUD Model - by El Forum - 03-09-2010, 05:46 AM
MY_Model Base CRUD Model - by El Forum - 03-09-2010, 05:59 AM
MY_Model Base CRUD Model - by El Forum - 03-09-2010, 08:30 AM
MY_Model Base CRUD Model - by El Forum - 03-09-2010, 08:46 AM
MY_Model Base CRUD Model - by El Forum - 03-23-2010, 08:17 AM
MY_Model Base CRUD Model - by El Forum - 04-04-2010, 05:11 AM
MY_Model Base CRUD Model - by El Forum - 04-04-2010, 05:24 AM
MY_Model Base CRUD Model - by El Forum - 04-04-2010, 06:03 AM
MY_Model Base CRUD Model - by El Forum - 04-04-2010, 06:10 AM
MY_Model Base CRUD Model - by El Forum - 04-04-2010, 06:21 AM
MY_Model Base CRUD Model - by El Forum - 04-04-2010, 06:28 AM
MY_Model Base CRUD Model - by El Forum - 04-04-2010, 12:06 PM
MY_Model Base CRUD Model - by El Forum - 04-04-2010, 12:14 PM
MY_Model Base CRUD Model - by El Forum - 05-10-2010, 09:22 AM
MY_Model Base CRUD Model - by El Forum - 05-10-2010, 12:47 PM
MY_Model Base CRUD Model - by El Forum - 05-11-2010, 10:40 AM
MY_Model Base CRUD Model - by El Forum - 05-11-2010, 10:55 AM
MY_Model Base CRUD Model - by El Forum - 05-27-2010, 07:04 PM
MY_Model Base CRUD Model - by El Forum - 05-28-2010, 02:12 AM
MY_Model Base CRUD Model - by El Forum - 06-03-2010, 01:15 AM
MY_Model Base CRUD Model - by El Forum - 06-03-2010, 02:36 AM
MY_Model Base CRUD Model - by El Forum - 06-03-2010, 01:29 PM
MY_Model Base CRUD Model - by El Forum - 08-02-2010, 04:25 AM
MY_Model Base CRUD Model - by El Forum - 08-10-2010, 09:52 PM
MY_Model Base CRUD Model - by El Forum - 05-03-2012, 03:58 AM



Theme © iAndrew 2016 - Forum software by © MyBB