I am using codeigniter, and have found myself in a similar situation where I have repeated Model methods. I am creating a Model per Controller. But I would creating a Model per database table be considered good practice? That way methods aren't written twice.
Instead of Model per Controller or Several small Models that are shared.
Example if I have a model method get_user($user_id) I could write it on users_models.php ...
One of the downsides I see of this is that I might have to call several models, rather than just controllername_models.php .
Could loading several models where several methods might not be used from a controller affect performance and speed? What could be the best way to tackle this down?
Note: There are similar question, but they do not cover the ground of Model per database table.