get_ methods accept the same parameters as CodeIgniter's query builder--formerly Active Record--'s
where. This means you can pass through an array:
$this->news_model->get_many_by(array( 'key' => 'value', 'other_key' => 'value' ));
If you're doing anything more complicated than this you could also create your own scoping method. Scoping methods are the *right* way of doing finds in MY_Model.
Scoping methods give context and readability to the find. In your example, you're finding active news articles, so we can create a scoping method on our model for those exact articles:
class News_model extends MY_Model
public function active_news()
Since we're returning
$this, we can chain these methods onto other MY_Model methods. In our controller:
$this->data['news'] = $this->news_model->active_news()->get_all();
This gives us a much more memorable, clearer and humane syntax to work with.