Implementando o cadastro de tarefas com Yii parte 1

Agora que vimos como fazer uma implementação básica no Yii utilizando o Gii, temos uma base para prosseguir com o nosso projeto.

Nos posts anteriores implementamos o CRUD para entidade Projeto. Agora vamos criar a funcionalidade que irá adicionar tarefas a um projeto cadastrado.

Para o usuário adicionar tarefas, antes ele terá que selecionar um projeto já cadastrado. Com isso em mente vamos prosseguir.

Eis a sequencia de passos que devemos dar para atingirmos nosso objetivo:

  • Projetar e criar a tabela para cadastro de tarefas
  • Criar a classe modelo que permitirá a integração da aplicação com a tabela criada
  • Criar a classe controle que irá manter as funcionalidades
    o   Criar novas tarefas
    o   Listar tarefas de um projeto
    o   Atualizar e editar tarefas
    o   Excluir tarefas
  • Criar as telas (view)

Como vimos em posts anteriores, propomos que a tabela Tarefa, conterá os seguintes atributos:

  • Tipo
  • Dono
  • Solicitante
  • Status
  • Descrição

Além disso, como a associação entre a tabela de Projetos e a tabela de Usuários o relacionamento é de muito para muitos, vamos criar uma tabela de associação que vamos chamar de tbl_projectusers.

Atenção:

  1. Caso apareça um erro no momento da migração informando que uma determinada tabela já existe, vá até o arquivo: protected/config/console.php e defina a conexão igual fizemos no arquivo main.php
  2. No momento que estava fazendo este exemplo quando rodei o comando yiic migrade, ele informou que as tabelas foram criadas, mas não aparecia na listagem de tabelas do phpmyadmin. Limpei o cache, saí do navegador e quando voltei as tabelas apareceram.

Para dar início, vamos criar o arquivo de migração para criar o restante das tabelas de nosso modelo e seus relacionamentos.

Na linha de comando (CMD) deixe o ponteiro na pasta protected e execute o comando:

yiic migrate create tbl_projectuser

Vá ao arquivo migrate criado e modifique os métodos SafeUp e SafeDown de acordo com o código abaixo. E lembre se deixar comentado os métodos Up e Down.

 

Com isso criamos o nosso arquivo de migração que irá criar as tabelas:

  • Tbl_issue
  • Tbl_user
  • E o relacionamento muitos para muitos que não existirá como uma tabela física Tbl_projectuser
  • Relacionamento entre as tabelas

Volte ao console de comando e ainda com o ponteiro na pasta /protected execute:

Yiic migrate

Se tudo ocorrer bem, as tabelas serão criadas no banco de dados.

No próximo post daremos sequencia a construção no nosso aplicativo criando os Models e CRUD.

* Todo o conteúdo deste post é uma interpretação minha ou uma sequencia de passos tirados do livro Web Application Development With Yii and PHP. Que pode ser adquirido pelo link: http://www.amazon.com/Web-Application-Development-Yii-PHP/dp/1849518726

Escrevo esta sequencia de posts para documentar os estudos que realizo sobre este framework e ao mesmo tempo partilhar e trocar conhecimento com outros desenvolvedores.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *