Dica: Como não usar os padrões de nomes para uma tabela no CakePHP
Olá pessoal,
estou meio sumido, mas é por um bom motivo.
Estive documentando o meu projeto da faculdade desse ano, aliás, estive fazendo a primeira de quatro partes. É bem provável que eu escreva algo sobre esse assunto no futuro, pois confesso que estou gostando bastante de engenharia de software.
Voltando ao Cake, me perguntaram esses dias atrás como não usar os nomes padrão de tabelas no banco de dados. É uma solução bem simples se quisermos usar o Cake em aplicações que já possuam uma base de dados pronta, a qual não poderiamos alterar os atributos de suas tabelas.
Para determinar um nome para a tabela de um determinado model, iremos usar o atributo do nosso model: $useTable, nele iremos definir o nome da tabela.
É bem provável que se o nome da tabela não siga a nomenclatura do Cake, sua chave primária talvez também não o faça. Então se quisermos definir a chave primária usarÃamos: $primaryKey.
Assim sendo um modelo com nome de tabela e chave primária definidas ficaria assim:
-
class Usuario extends AppModel
-
{
-
var $name = 'Usuario';
-
-
var $useTable = "User";
-
-
var $primaryKey = "id_user";
-
-
}
Neste exemplo, estamos usando a tabela User (lembre-se que o nome é case sensitive, ou seja, letras maiúsculas e minúsculas fazem diferença) e a chave primária id_user, ao invés de usar
Usuarios e id.
Até a próxima pessoal,
Abraços,
