In the MVC that I'm accustomed to, model classes (usually) represent tables and objects of these classes are rows/domain objects. I don't understand in CodeIgniter why model classes appear to just be singleton utility classes. It feels wrong writing
$data = array('text' => 'hello');
$this->commentModel->insert($data);
instead of
$comment = new Comment();
$comment->text = 'hello';
$comment->save();
Can someone explain why CodeIgniter does models this way and make me feel better about it? (Or tell me what I can do to fix it.)