MA
Erro: O endereço solicitado não é válido no contexto
Fechado
Olá pessoal, boa noite.
Sou novo com Desenvolvimento, PHP e Adianti Framework, ou seja, totalmente leigo rsrs. Portanto, gostaria de uma ajuda se possível.
Bem, criei um banco de dados no MySQL chamado "teamerp" e adicionei duas tabelas simples só para ir começando a pegar melhor as coisas, em que, são elas: "marca" e "produto". A regra de negócio é a seguinte:
* A tabela "marca" possui como campos o "id" (primarykey e autoincrement) e "descricao" (varchar(45)).
* A tabela "produto" possui como campos o "id" (primarykey e autoincrement), "descricao" (varchar(45)) e "marca_id" (int e foreingkey da tabela marca).
Criei as classes php Produto, Marca e ProdutoNovoView no Adianti estúdio pro com base na vídeo aula "2 - Persistências" do curso do Pablo. Porém, ao tentar chamar a classe ProdutoNovoView utilizando o template 3 no usuário admin (inserido no mesmo a permissão), a aplicação está me retornando a seguinte mensagem de crítica:
SQLSTATE[HY000] [2002] O endere�o solicitado n�o � v�lido no contexto.
Segue abaixo as classes e as tabelas do banco de dados para melhor entendimento.
CLASSES PHP DO STUDIO PRO.
Sou novo com Desenvolvimento, PHP e Adianti Framework, ou seja, totalmente leigo rsrs. Portanto, gostaria de uma ajuda se possível.
Bem, criei um banco de dados no MySQL chamado "teamerp" e adicionei duas tabelas simples só para ir começando a pegar melhor as coisas, em que, são elas: "marca" e "produto". A regra de negócio é a seguinte:
* A tabela "marca" possui como campos o "id" (primarykey e autoincrement) e "descricao" (varchar(45)).
* A tabela "produto" possui como campos o "id" (primarykey e autoincrement), "descricao" (varchar(45)) e "marca_id" (int e foreingkey da tabela marca).
Criei as classes php Produto, Marca e ProdutoNovoView no Adianti estúdio pro com base na vídeo aula "2 - Persistências" do curso do Pablo. Porém, ao tentar chamar a classe ProdutoNovoView utilizando o template 3 no usuário admin (inserido no mesmo a permissão), a aplicação está me retornando a seguinte mensagem de crítica:
SQLSTATE[HY000] [2002] O endere�o solicitado n�o � v�lido no contexto.
Segue abaixo as classes e as tabelas do banco de dados para melhor entendimento.
CLASSES PHP DO STUDIO PRO.
- <?php
- class Marca extends TRecord{
-
- const TABLENAME = 'marca';
- const PRIMARYKEY = 'id';
- const IDPOLICY = 'serial';
-
- function __construct(2360 = null){
-
- parent::__construct(2360);
- parent::addAttribute('descricao');
-
- }
- }
- <?php
- class Produto extends TRecord{
-
- const TABLENAME = 'produto';
- const PRIMARYKEY = 'id';
- const IDPOLICY = 'serial';
-
- function __construct(2360 = null){
-
- parent::__construct(2360);
- parent::addAttribute('descricao');
- parent::addAttribute('marca_id');
-
- }
- }
- <?php
- class ProdutoNovoView extends TPage{
-
- function __construct(){
-
- parent::__construct();
- try{
- TTransaction::open('teamerp');
-
- $produto = new Produto;
- $produto-> descricao = 'Mostarda Hellmans 1kg';
- $produto-> marca_id = 1 //Observação o id = 1 é referente a um registro que foi criado na tabela marca.;
- $produto-> store();
-
- new TMessage('info','Produto Cadastrado Com Sucesso!');
- TTransaction::close();
- }catch(Exception $e){
- new TMessage('Erro ',$e->getMessage());
- }
- }
- }
- TABELAS DO MYSQL
- select * from marcaCREATE TABLE `marca` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `descricao` varchar(45) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `descricao_UNIQUE` (`descricao`)
- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
- CREATE TABLE `produto` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `descricao` varchar(45) NOT NULL,
- `marca_id` int(11) DEFAULT NULL,
- PRIMARY KEY (`id`),
- KEY `fk_marca_produto_idx` (`marca_id`),
- CONSTRAINT `fk_marca_produto` FOREIGN KEY (`marca_id`) REFERENCES `marca` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- Peço desculpas se coloquei muita informação, mas é que procuro esclarecer com o máximo de informações possíveis, e desde já agradeço pela atenção.
- Muito obrigado.
Olá Marlon, verifique se seu banco.ini no diretório app/config/meubanco.ini está com os dados corretos do seu banco.
Se for o caso dê uma olhada neste exemplo: www.adianti.com.br/framework-quickstart