Você pode acessar um modelo de dentro de outro modelo em CodeIgniter?

Estou escrevendo um webapp usando CodeIgniter que requer autenticação. Eu criei um modelo que lida com toda a minha autenticação. No entanto, não consigo encontrar uma maneira de acessar este modelo de autenticação de dentro de outro modelo. Existe uma maneira de acessar um modelo de dentro de outro modo, ou uma maneira melhor de gerenciar autenticação dentro de CodeIgniter?

Em geral, você não deseja criar objects dentro de um object. Isso é um mau hábito, em vez disso, escreva uma API clara e injete um modelo em seu modelo.

setWhatever($model1); ?> 

Parece que você pode carregar modelos dentro de modelos, embora você provavelmente deve resolver isso de outra forma. Consulte os fóruns de CodeIgniter para uma discussão.

 class SomeModel extends Model { function doSomething($foo) { $CI =& get_instance(); $CI->load->model('SomeOtherModel','NiceName',true); // use $CI instead of $this to query the other models $CI->NiceName->doSomethingElse(); } } 

Além disso, não entendo o que Till está dizendo sobre isso, você não deve criar objects dentro de objects. Claro que você deveria! Enviar objects como argumentos parece muito menos claro para mim.

Não manipule autenticação no seu modelo. Use apenas modelos para interfacear com seu database, ou ldap ou seja o que for.

Criei uma biblioteca Auth que uso para gerenciar autenticação e autorização. Você pode acessar uma biblioteca como essa de seus controladores.

Carregar um modelo dentro de um modelo agora é possível com o novo CodeIgniter.