CakePHP

bashir

Power Member
Estou a tentar adicionar colmeias que por sua vez podem ter diferentes categorias guardadas numa tabela de informação aparte.



Código:
<?php echo $this->Form->create('Hive', array('role' => 'form')); ?>

<div class="form-group">
<?php echo $this->Form->input('category_id', array('class' => 'form-control', 'placeholder' => 'Category Id','label' => 'Categoria'));?>


A questão é, como é que eu vou buscar á outra tabela "categories" o type? Os users não vão saber escolher através do id, porque não é informação suficiente, precisam de saber o nome. Alguma ideia? Em php seria fácil, mas o cakephp está a complicar-me a vida.

----
Noutro exemplo, tenho Eventos e Tipos de Eventos. ao adicionar eventos, aparece-me logo o nome como opção, sem eu mesmo ter feito nada.


Código:
<?php echo $this->Form->create('Event', array('role' => 'form')); ?>


<?php echo $this->Form->input('event_type_id', array('class' => 'form-control', 'placeholder' => 'Event Type Id','label' => 'Tipo de Evento'));?>
 
Não sei se percebi bem a pergunta, mas tens o controller bem configurado?

Por exemplo, queres adicionar um artigo com categoria x, no controller do artigo tens que ter:

$categorias = $this->artigo->Categorias->find('list');
 
Tenho a tabela Hives e a tabela Categories. Na Hives tem o Category_id que faz a relação com o ID na tabela Categories. A questão é que eu quero que mostre o nome (guardado como Type na tabela Categories).

O meu controlador está assim:

Código:
public function add() {
        if ($this->request->is('post')) {
            $this->Hive->create();
            if ($this->Hive->save($this->request->data)) {
                $this->Session->setFlash(__('The hive has been saved.'), 'default', array('class' => 'alert alert-success'));
                return $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash(__('The hive could not be saved. Please, try again.'), 'default', array('class' => 'alert alert-danger'));
            }
        }
        $categories = $this->Hive->Category->find('list');
        $apiaries = $this->Hive->Apiary->find('list');
        $users = $this->Hive->User->find('list');
        $this->set(compact('categories', 'apiaries', 'users'));
 
Back
Topo