PHP e Codeigniter – como passar parâmetros para um modelo?

Estou usando o seguinte código para inicializar um modelo dentro do meu controlador:

$this->load->model('model_name'); 

É possível modificar a linha acima de alguma forma para que o construtor do modelo receba um parâmetro? Eu quero usar o seguinte código no construtor do modelo:

 function __construct($param_var) { parent::Model(); $this->$param_var = $param_var; //I'm not even sure this works in PHP..but different issue } 

Isso seria muito útil para que eu possa reutilizar minhas classs modelo. Obrigado.

UPDATE: (a partir de uma das respostas, minha pergunta original é resolvida … graças!) Apenas para explicar por que queria fazer isso: a idéia é ser capaz de reutilizar uma class modelo. Então, basicamente, para dar um exemplo simples, eu gostaria de poder passar uma variável “order_by” para a class do modelo para que eu possa reutilizar a lógica na class do modelo (e mudar dinamicamente o valor da ordem no sql) sem ter para criar uma class separada ou uma function separada.

Este projeto é fraco? Em caso afirmativo, você poderia explicar por que você não faria algo assim e como faria isso em vez disso?

Eu vejo seu raciocínio para isso, mas posso sugerir pesquisar o Mapeamento Relacionado a Objetos para suas necessidades de database. Existe uma biblioteca ORM criada pelo usuário para o CodeIgniter chamado DataMapper que usei ultimamente. Você pode usar tabelas em seus controladores como objects, e pode ser melhor para o seu problema.

Você não pode passar parâmetros através da function de load . Você terá que fazer algo como:

 $this->load->model('model_name'); $this->model_name->my_constructor('stuff'); 

No modelo:

 function my_constructor($param_var) { ... } 

Resposta à atualização:

Você poderia simplesmente passar o valor order_by quando você está chamando sua function modelo. Estou assumindo na ação do seu controlador, você tem algo como $this->model_name->get($my_id); Basta adicionar o seu parâmetro order_by a esta function. O IMO faz com que sua lógica de modelo seja mais flexível / reutilizável porque, da maneira como você estava fazendo isso, suponho que a configuração order_by no construtor definirá o valor order_by para cada function.

Em vez de usar o DataMapper, sugeri usar o IgnitedRecord porque o DataMapper não é mais mantido mais por ele foi substituído por Ruby