Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Lopes

Fazer consulta por um helper é possivel? codeigniter

Recommended Posts

Boa Tarde pessoal, estou precisando de uma ajuda de vocês, eu estou montando uma aplicação utilizando codeigniter.

 

Eu estou listando informações de um cabeçalho na tela que está puxando do banco de dados, más tem informações que tem relacionamento com outra tabela então ela aparece na tela com numero quando eu faço o foreach para listar.

 

Exemplo:

TABELA CABECALHO

id int,

nome int,

endereco varchar,

cep int

 

 

TABELA NOME

id int,

nome varchar.

 

quando eu listo o cabeçalho na view ele mostra todas as informações, só que eu não sei como faço para criar um helper ou algo do tipo que pegue o nome da tabela cabecalho e puxe o nome da tabela nome, alguem pode me ajudar?

 

 

Controller

Class Home extends CI_Controller {


public function index(){
autoriza();
$this->load->model("cab_model");
$this->load->helper("utils_helper");
$get = $this->cab_model->getCab();




$dados = array("getCab" => $getCab);
$this->output->enable_profiler(TRUE);
$this->load->template('home/index',$dados); 
}
}
View

 

<?php foreach ($getCab as $CAB):?>
<tr>
<td><?= $CAB['id'] ?></td>
<td><?= $OS['nome'] ?></td> //*** NESSE PONTO APARECE O ID DO CLIENTE, ONDE PRECISO FAZER A BUSCA NA TABELA NOME
<td><?= $CAB['funcli'] ?></td> 
<td><?= $CAB['dtabt'] ?></td>
<td><?= $CAB['anadem'] ?></td>
<td><?= $CAB['tp_probos'] ?></td>
<td></td>
</tr>
<?php endforeach;?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguns detalhes técnicos:

 

- View trata da exibição;

- Controller controla o fluxo de requisição;

- Model trata das regras de negócio;

- Model, View e Controller não são apenas classes que representam cada camada. Apesar de certos momentos serem apenas uma classe, é importante tratá-las, as camadas, como conceitos.

 

Algumas, ou não, responsabilidades dos participantes:

- Não é responsabilidade da view, ou do controller, saber de que forma o vínculo procede (que no caso é relacional);

- Não é responsabilidade do helper consultar no banco de dados. Helpers são helpers, apenas auxiliam como funcionalidade;

- É de responsabilidade do model entregar os dados corretos quando solicitados.

 

Logo, os dados do cliente já devem vir populados quando entregues da model para o controller. A forma que você vai tratar isso, é irrelevante do ponto de vista do controller ou da view. Somente deve ser tratado na camada de negócio (Model).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente como o Gabriel Heming, citou acima:

"Logo, os dados do cliente já devem vir populados quando entregues da model para o controller."

Mas se quiser fazer um helper, eis aí um exemplo:

/**
 * Busca nome pelo ID
 */
function get_name($id=0)
{
    $ci =& get_instance();
 
    $ci->load->model('seu_modelo');
    $name = $ci->[seu_modelo]->get_name($id)->row();
 
    return $name->nome;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.