Jump to content

Search the Community

Showing results for tags 'cakephp'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 15 results

  1. YuriAguiar

    Método save Cakephp

    Fala povo... estou tentando salvar os dados pelo método save(), mas ele não está indo. Já tentei de todas as formas que conheço; olhei na documentação; mas até agora nada deu certo. 1 2 3 4 5 6 7 8 9 10 11 $user = $this->Auth->identify(); $userFind = $this->Users->find()->where([''id'' => $user[''id'']])->all()->toArray(); $attempt = $userFind[0]->attempt; if($attempt < 5){ //Código } else { $attempt++; $this->Users->save($attempt); $this->Flash->error(__(''Usuário ou senha incorreta.'')); } O código funciona como um contador, toda vez que o usuário erra a senha, ele soma +1 e salva no banco de dados. Quando a tentativa tiver sido maior que 5 ele vai precisar alterar a senha para ter acesso novamente. O único b.o que estou tendo é na hora de salvar. Alguém por favor ?
  2. Viweesleyy

    WebService REST cakePHP

    Tenho que criar um webservice, e tenho que fazer alguns filtros pela URL Ex: Books/author:J.R.R. Tolkien Alguém sabe como e que faz ?
  3. Perroni91

    Post mostra, mas categoria não

    Meu blog está mostrando o post normalmente, menos a parte da categoria. Não sei mais o que fazer para arrumar esse problema. Alguém poderia me dar uma forcinha por favor? $resultado = mysql_query($consulta, $conn) or die(mysqli_error()); $linhas = mysql_fetch_assoc($resultado); Abaixo mostra a parte do código: <?php do { ?> <div class="post post-row"> <a class="post-img" href="blog-post.html"><img src="Admin/app/webroot/files/post/imagem1/<?php echo $linhas['imagem1_dir']; ?>/<?php echo $linhas['imagem1']; ?>"></a> <div class="post-body"> <div class="post-meta"> <a class="post-category" href="category.html"><?php echo $linhas['categoria']; ?></a> <span class="post-date"><?php echo utf8_encode($linhas['data']); ?></span> </div> <h3 class="post-title"><a href="blog-post.html"><?php echo utf8_encode($linhas['titulo_principal']); ?></a></h3> <p><?php echo utf8_encode($linhas['texto_inicial']); ?></p> </div> </div> <?php } while ($linhas = mysql_fetch_assoc($resultado)); ?> </div> Mas apenas essa parte não mostra, que é justamente a categoria: <a class="post-category" href="category.html"><?php echo $linhas['categoria']; ?></a> Minhas duas tabelas no banco de dados estão assim: Posts Categorias id id titulo_principal categoria imagem Alguém que possa me ajudar? Obrigada!
  4. Perroni91

    Categorias em Blog

    Estou com um pequeno problema ao mostrar as categorias na hora de salvar um post no meu blog. Eu salvo uma categoria, mas depois que eu vou ver, não salva a categoria e nem mostra os nomes. Não sei o que fiz de errado. Meu banco de dados tem a tabela posts e nela tem a coluna categoria_id. E tem também outra tabela chamada categorias que tem id e categoria. Alguém pode me dar uma ajudinha por favor? Obrigada! if (isset($_GET['categoria'])) { $categoria_id = $_GET['categoria']; $consulta = "SELECT a.id, data, descricao, b.categoria, texto_inicial, texto_secundario, titulo_principal, imagem1, imagem1_dir, imagem2, imagem2_dir FROM `posts` as a inner join categorias as b on a.categoria_id = b.id WHERE a.categoria_id =".$categoria_id; }else{ $consulta = "SELECT a.id, data, descricao, b.categoria, texto_inicial, texto_secundario, titulo_principal, imagem1, imagem1_dir, imagem2, imagem2_dir FROM `posts` as a inner join categorias as b on a.categoria_id = b.id"; }
  5. Wesley Balestrini

    Iniciantes devem usar framework?

    Caros, bom dia. Fiquei com dúvida, mas acho que estou postando no local correto. Sou iniciante no desenvolvimento Web (front e back). Gostei muito do padrão MVC (PHP) e por isso descobri a existência do Cake PHP. Percebi grande dificuldade em usar estas formas de programar, principalmente por não entender muito de orientação a objeto. Por isso estou fazendo um curso sobre. Mas ainda resta dúvidas: um iniciante DEVE usar padrões (acho que sim) como MVC e frameworks (não tenho certeza) como CakePHP? Principalmente no caso de frameworks, me dá a sensação que estou deixando de aprender certas partes da linguagem, pois o framework faz elas por mim. Sei que são importantes para ganho de tempo e otimização, mas como iniciante tenha meus receios. Alguém pode me ajudar? Conte sua experiência do início de carreira.
  6. matmper

    Problema com Root Path no Cakephp 2.8

    Estou com um problema, eu possuo um sistema antigo, e que a cliente não se desfaz de nenhuma maneira, está escrito em CakePHP 2.8. Eu não dou mais manutenção do mesmo faz anos, e hoje trabalho apenas com Laravel e Code Igniter, mas tive que fazer uma migração de hospedagem. Tudo ocorreu bem, conexão com o banco de dados, funcionamento e apache. O servidor está com Apache 2.2 e PHP 5.6 O problema é que todos os actions dos <form> e os href dos <a> estão exibindo pastas do servidores, que não deveria. O correto seria: <a href="/cartao/18.06.2018/18.06.2018" class="xn-text">Cartões</a> Porém, está exibindo da seguinte maneira: <a href="/var/www/html/dominio.com.br/web/cartao/18.06.2018/18.06.2018" class="xn-text">Cartões</a> O que devo alterar? Já tentei pelo .htaccess e no index do projeto. /index.php define('APP_DIR', 'app'); define('DS', DIRECTORY_SEPARATOR); define('ROOT', dirname(__FILE__)); define('WEBROOT_DIR', 'webroot'); define('WWW_ROOT', ROOT . DS . APP_DIR . DS . WEBROOT_DIR . DS); .htaccess <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> Como posso solucionar o problema? Obrigado desde já!
  7. vrnkl

    Inserir registro em 2 tabelas

    Estou tentando inserir registro em 2 tabelas (distributions e countries). Estou usando CakePHP 3.5 e as tabelas do banco estão mais ou menos assim - Distributions (id, name); - Countries (id, distributions_id, name); DistributionsController: public function add() { $topic = $this->Distributions->newEntity(); if($this->request->is('post')) { $topic = $this->Distributions->patchEntity($topic, $this->request->data); if($this->Distributions->save($topic, ['associated'=>'Countries'])) { $this->request->data['Countries']['distributions_id'] = $this->Distributions->id; $this->Flash->success(__('Cadastrado.')); return $this->redirect(['action' => 'add']); } $this->Flash->error(__('Erro.')); } $this->set('topic', $topic); } DistributionsTable: class DistributionsTable extends Table { public function initialize(array $config) { parent::initialize($config); $this->table('distributions'); $this->primaryKey('id'); $this->addBehavior('Timestamp'); $this->hasOne('Countries', [ 'foreignKey' => 'distributions_id', 'joinType' => 'INNER' ]); } Add.ctp (view add em distributions) <h1>Add Topic</h1> <?php echo $this->Form->create($topic); echo $this->Form->input('name'); echo $this->Form->input('countries.name'); echo $this->Form->button(__('Salvar')); echo $this->Form->end(); ?> CountriesTable: class CountriesTable extends Table { public function initialize(array $config) { parent::initialize($config); $this->table('countries'); $this->primaryKey('id'); $this->addBehavior('Timestamp'); $this->belongsTo('Distributions'); }
  8. horacio2009

    cakephp não reconhece meu login

    Estou estudando CakePHP e criei um projeto para treina login, mas não importa o que faço, o login/senha sempre nega o acesso. aí vão os códigos public function initialize() { //appController parent::initialize(); $this->loadComponent('RequestHandler'); $this->loadComponent('Flash'); //--------------------------------- $this->loadComponent('Auth', [ 'authenticate' => [ 'Form' => [ 'fields' => [ 'username' => 'email', 'password' => 'password' ] ] ], 'loginAction' => [ 'controller' => 'Users', 'action' => 'login' ], // If unauthorized, return them to page they were just on 'unauthorizedRedirect' => $this->referer() ]); //------------------------------------ $this->Auth->allow(['display', 'view', 'index']); } já no users contoller public function initialize() { parent::initialize(); // Add the 'add' action to the allowed actions list. $this->Auth->allow(['logout', 'add']); } public function logout() { $this->Flash->success('You are now logged out.'); return $this->redirect($this->Auth->logout()); } public function login() { if ($this->request->is('post')) { $user = $this->Auth->identify(); if ($user) { $this->Auth->setUser($user); return $this->redirect($this->Auth->redirectUrl()); } $this->Flash->error('Your username or password is incorrect.'); } } já página de login: { <h1>Login</h1> <?= $this->Form->create() ?> <?= $this->Form->control('email') ?> <?= $this->Form->control('password') ?> <?= $this->Form->button('Login') ?> <?= $this->Form->end() ?> } a tabela do banco: CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, created DATETIME, modified DATETIME ); enfim...o que tá errado???obrigado a todos!! Horácio
  9. jdsdias

    Cakephp consulta retorna sempre -1

    Estou desenvolvendo uma aplicação utilizando o cakephp 3.0. O problema ocorre porque tem uma consulta SELECT que retorna, na função rowCount do pdo, sempre -1. Então o cake dá um erro, porque a consulta não pode retornar valor menor do que zero. array size cannot be less than zero O banco de dados que estou utilizando é o SQL Server 2008. Fiz um pequeno teste, utilizando somente o PDO, e verifiquei que o retorno do rowCount no pdo, nesse banco, está sempre retornando -1. Segue o exemplo: $conn = new PDO("dblib:host={HOST};dbname={DB}","{USER}","{PASSWORD}"); $sql = "select * from pessoas"; $stmt = $conn->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL)); $stmt->execute(); echo $stmt->rowCount(); // return -1 Esse mesmo código, usando o banco de dados MySQL, traz como resultado o número de linhas da consulta, já executando com o SQL Server o retorno sempre é -1. Li em alguns fóruns para utilizar a função count do php sobre o fetch da consulta. Mas essa solução não iria funcionar pois estou utilizando o cake como framework e ele utiliza internamente a função rowCount. Alguém já passou por algum problema parecido e poderia me orientar se existe alguma solução para esse caso? obs: o cake utiliza o driver sqlsrv ao invés do dblib mas nos dois ocorre o mesmo problema
  10. th4deu

    Framework: Usar ou não usar?

    Fala, pessoal! Surgiram alguns projetos de programadores que abandonaram o projeto e tenho percebido que recentemente, maioria dos projetos que pego em PHP vindo de outras pessoas não seguem um padrão (MVC, etc) e também não utilizam nenhum framework. Como vocês programam? Preferem o código "puro" ou usar algum Framework para padronizar? Se sim, como vocês costumam escolher o Framework? Já respondendo, eu sempre procuro padronizar com a utilização de algum framework, até mesmo pra facilitar a manutenção quando trabalho com vários projetos intercalados, etc. No caso, utilizo o codeigniter para projetos menores e laravel para projetos médios/grandes. E vocês?
  11. goofzinho

    Junção de tabelas complexa HABTM

    Bom dia pessoal! Talvez (muito provavelmente) pra muitos aqui nem seja tão complexa.. mas to me batendo a alguns dias nessa questão. Eu tenho uma tabela produtos no mysql onde ele é HABTM (has and belongs to many) a tabela cores, que por sua vez também tem a tabela de numeração (tamanhos), e a tabela fotos relacionados a esse produto. O problema é que a cor de cada sapato vai definir quais os números disponíveis naquela cor bem como carregar as fotos respectivas daquela cor. Até difícil eu conseguir explicar. Vou dar um exemplo. Bota Firenze na cor marrom possui o tamanho 36, 37 e 38. A mesma bota Firenze só que na cor preta possui o tamanho 40, 41 e 42. E cada um tem que ter suas fotos respectivas. É semelhante ao site do Netshoes na parte de detalhes do produto. Mas a minha dúvida são duas. 1 - Como modelar corretamente essas tabelas? Eu fiz a tabela produtos ser HABTM cores que por sua vez é HABTM numeração e a cores é HasMany fotos porém não sei se está certo. 2 - E estou com muita dificuldade nesse formato de tabela fazer a junção deles na hr de cadastrar, pois HABTM muitos para muitos blz, mas como associar a cor com a numeração no mesmo cadastro do produto? Alguém pode me ajudar. Eu estou usando o Cakephp 2.x se ajudar em algo. Muito obrigado pessoal
  12. FilipeVoges

    CakePHP + Ubuntu/Windows + BitBucket

    Bom dia, Criei uma aplicação cakePHP em um computador que uso que tenho o Windows 10, a aplicação funciona, existe a pasta vendor e o arquivo config/app.php, mas ao usar o meu ubuntu, quando faço o git clone a pasta vendor e o app.php não vem e (acredito que seja) por isso a aplicação não está rodando. Gostaria de saber se tem que ser feito de alguma outra maneira esse versionamento. Estou o Bitbucket o no repositório não está aparecendo os arquivos, mesmo dando um git add diretamente neles.
  13. bamoZ

    Freelance de PHP

    Procuro um desenvolvedor PHP, que conheca CakePHP para criar pagina web simples, com uma tela de busca, uma tela de resultado e uma tela de detalhe do resultado. Pode trabalhar de casa e deve poder fazer reunioes via Skype. Obrigado Oswaldo
  14. Orique

    Filtro de busca em CAKEPHP 2.0

    Fala galera, estou tendo um erro no meu filtro ['Filtro']['uf'] de busca e não sei como resolver. Meu controller tem a seguinte verificação: $this->loadModel('User'); $this->loadModel('Conta'); $this->loadModel('Unidade'); $this->loadModel('Periodicidade'); $this->loadModel('AgendamentoFinanceiro'); $this->loadModel('Entidade'); $this->loadModel('EntidadesEndereco'); $arrayConditions = array(); $arrayContas = array(); $total_a_receber = 0; $arrayConditions['AND']['AgendamentoFinanceiroParcela.situacao'] = 'A'; // apenas os agendados $arrayConditions['AND']['AgendamentoFinanceiroParcela.tipo <>'] = 'S'; // diferente de saídas //se foi passado um parametro informando a agenda financeira if (!empty($agendamento_financeiro_id) && $agendamento_financeiro_id > 0) { //gera as proximas parcelas do agendamento informado: $this->AgendamentoFinanceiro->gerar_parcelas($agendamento_financeiro_id); //adiciona esta condição no filtro $arrayConditions['AND']['AgendamentoFinanceiroParcela.agendafinanceira_id'] = $agendamento_financeiro_id; } if(isset($this->params['named']['todos'])) { $this->data = array(); $this->Session->delete('AgendamentoFinanceiroParcelasReceber'); } if (!empty($this->data)) { if (!empty($this->data['Filtro']['unidade_id'])) { $arrayConditions['OR']['ContaOrigem.unidade_id'] = $this->data['Filtro']['unidade_id']; $arrayConditions['OR']['ContaDestino.unidade_id'] = $this->data['Filtro']['unidade_id']; $arrayContas = $this->Conta->find( 'list', array( 'conditions' => array( 'unidade_id' => $this->data['Filtro']['unidade_id'] ), 'fields' => array('id', 'nome'), 'recursive' => -1 )); } if(isset($this->data['Filtro']['conta_id']) && !empty($this->data['Filtro']['conta_id'])){ $arrayConditions['OR']['AgendamentoFinanceiro.conta_origem_id'] = $this->data['Filtro']['conta_id']; $arrayConditions['OR']['AgendamentoFinanceiro.conta_destino_id'] = $this->data['Filtro']['conta_id']; unset($arrayConditions['OR']['ContaOrigem.unidade_id']); unset($arrayConditions['OR']['ContaDestino.unidade_id']); } if (isset($this->data['Filtro']['entidade_id']) && !empty($this->data['Filtro']['entidade_id'])){ $arrayConditions['AND']['AgendamentoFinanceiro.entidade_id'] = $this->data['Filtro']['entidade_id']; } if (isset($this->data['Filtro']['uf']) && !empty($this->data['Filtro']['uf'])){ $arrayConditions['AND']['EntidadesEndereco.uf'] = $this->data['Filtro']['uf']; } if(isset($this->data['Filtro']['situacao']) && !empty($this->data['Filtro']['situacao'])){ $arrayConditions['AND']['AgendamentoFinanceiroParcela.situacao'] = $this->data['Filtro']['situacao']; if($this->data['Filtro']['situacao'] == 'V'){ // se foi escolhido 'vencido': $arrayConditions['AND']['AgendamentoFinanceiroParcela.situacao'] = 'A'; $arrayConditions['AND']['AgendamentoFinanceiroParcela.data_vencimento <'] = date('Y-m-d'); } } if (isset($this->data['Filtro']['data_inicial']) && !empty($this->data['Filtro']['data_inicial'])){ $arrayConditions['AND']['AgendamentoFinanceiroParcela.data_vencimento >='] = $this->Mswi->formatarData($this->data['Filtro']['data_inicial']); } if (isset($this->data['Filtro']['data_final']) && !empty($this->data['Filtro']['data_final'])){ $arrayConditions['AND']['AgendamentoFinanceiroParcela.data_vencimento <='] = $this->Mswi->formatarData($this->data['Filtro']['data_final']); } } $params = $this->Mswi->autoPaginate($this->params, 'AgendamentoFinanceiroParcela.data_vencimento', 'ASC', $arrayConditions); $this->AgendamentoFinanceiroParcela->bindModel(array( 'hasMany' => array( 'Anexo' => array( 'className' => 'Anexo', 'foreignKey' => 'agendamento_parcela_id' ) ) )); Ai tenho as condições e debugando o código ele me passa os índices corretamente inclusive me retorna os estados de cada registro tudo certinho if ((isset($this->params['ext']) && $this->params['ext'] == 'pdf') || isset($this->params['named']['excel'])) { $AgendamentoFinanceiroParcelasReceber = $this->AgendamentoFinanceiroParcela->find('all', array( 'conditions' => $params['conditions'], 'order' => array($params['sort'] => $params['direction']), 'contain' => array( 'AgendamentoFinanceiro' => array( 'CentroDeCusto' => array( 'fields' => array('id', 'numero', 'nome', 'situacao') ), 'fields' => array('id', 'tipo', 'situacao', 'numero_parcelas', 'periodicidade_id'), ), 'Entidade' => array( 'fields' => array('id', 'nome_principal', 'nome_secundario', 'situacao') ), 'ContaDestino' => array( 'fields' => array('id', 'nome', 'contatipo_id', 'situacao') ), 'ContaOrigem' => array( 'fields' => array('id', 'nome', 'contatipo_id', 'situacao') ), 'PlanoDeConta' => array( 'fields' => array('id', 'numero', 'nome', 'situacao') ), 'LancamentoFinanceiro' => array( 'fields' => array('id', 'agendamento_parcela_id', 'valor', 'tipo', 'situacao', 'observacoes'), 'CentroDeCusto' => array( 'fields' => array('id', 'numero', 'nome', 'situacao') ), 'Entidade' => array( 'fields' => array('id', 'nome_principal', 'nome_secundario', 'situacao') ), 'ContaDestino' => array( 'fields' => array('id', 'nome', 'contatipo_id', 'situacao') ), 'ContaOrigem' => array( 'fields' => array('id', 'nome', 'contatipo_id', 'situacao') ), 'PlanoDeConta' => array( 'fields' => array('id', 'numero', 'nome', 'situacao') ) ), 'AgendamentoFinanceiroParcelaFatura' => array( 'Fatura' => array( 'Boleto' => array( 'fields' => array('id') ), 'fields' => array('id', 'formadepagamento_id') ), 'fields' => array('id', 'agendamento_financeiro_parcela_id', 'fatura_id') ), 'Anexo' => array( 'fields' => array( 'id' ) ) ), 'fields' => array( 'id', 'data_vencimento', 'valor', 'descricao', 'situacao', 'tipo', 'parcela', 'entidade_id', 'conta_origem_id', 'conta_destino_id', 'planodeconta_id', 'numero', 'observacoes', 'email_enviado', 'lancamentofinanceiro_id' ) ) ); } else { $this->paginate = array( 'conditions' => $params['conditions'], 'order' => array($params['sort'] => $params['direction']), 'page' => $params['page'], 'joins' => array( array( 'table' => 'agendamentos_financeiros_parcelas_faturas', 'alias' => 'AgendamentoFinanceiroParcelaFatura', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcelaFatura.agendamento_financeiro_parcela_id = AgendamentoFinanceiroParcela.id', ) ), array( 'table' => 'agendamentos_financeiros', 'alias' => 'AgendamentoFinanceiro', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.agendafinanceira_id = AgendamentoFinanceiro.id', ) ), array( 'table' => 'lancamentos_financeiros', 'alias' => 'LancamentoFinanceiro', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.lancamentofinanceiro_id = LancamentoFinanceiro.id', ) ), array( 'table' => 'plano_de_contas', 'alias' => 'PlanoDeConta', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.planodeconta_id = PlanoDeConta.id', ) ), array( 'table' => 'entidades', 'alias' => 'Entidade', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.entidade_id = Entidade.id', ) ), array( 'table' => 'entidades_enderecos', 'alias' => 'EntidadesEndereco', 'type' => 'LEFT', 'conditions' => array( 'EntidadesEndereco.entidade_id = Entidade.id' , ) ), array( 'table' => 'contas', 'alias' => 'ContaOrigem', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.conta_origem_id = ContaOrigem.id', ) ), array( 'table' => 'contas', 'alias' => 'ContaDestino', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.conta_destino_id = ContaDestino.id', ) ), array( 'table' => 'anexos', 'alias' => 'Anexo', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.id = Anexo.agendamento_parcela_id', ) ), ), 'fields' => array( 'AgendamentoFinanceiroParcela.id', 'AgendamentoFinanceiroParcela.data_vencimento', 'AgendamentoFinanceiroParcela.valor', 'AgendamentoFinanceiroParcela.descricao', 'AgendamentoFinanceiroParcela.situacao', 'AgendamentoFinanceiroParcela.tipo', 'AgendamentoFinanceiroParcela.parcela', 'AgendamentoFinanceiroParcela.entidade_id', 'AgendamentoFinanceiroParcela.conta_origem_id', 'AgendamentoFinanceiroParcela.conta_destino_id', 'AgendamentoFinanceiroParcela.planodeconta_id', 'AgendamentoFinanceiroParcela.numero', 'AgendamentoFinanceiroParcela.observacoes', 'AgendamentoFinanceiroParcela.email_enviado', 'AgendamentoFinanceiroParcela.lancamentofinanceiro_id', 'AgendamentoFinanceiroParcela.modified_by', 'AgendamentoFinanceiroParcela.modified', 'AgendamentoFinanceiroParcelaFatura.id', 'AgendamentoFinanceiroParcelaFatura.agendamento_financeiro_parcela_id', 'AgendamentoFinanceiroParcelaFatura.fatura_id', 'AgendamentoFinanceiro.id', 'AgendamentoFinanceiro.tipo', 'AgendamentoFinanceiro.situacao', 'AgendamentoFinanceiro.numero_parcelas', 'AgendamentoFinanceiro.periodicidade_id', 'LancamentoFinanceiro.id', 'LancamentoFinanceiro.agendamento_parcela_id', 'LancamentoFinanceiro.valor', 'LancamentoFinanceiro.tipo', 'LancamentoFinanceiro.situacao', 'PlanoDeConta.id', 'PlanoDeConta.numero', 'PlanoDeConta.nome', 'PlanoDeConta.situacao', 'Entidade.id', 'Entidade.nome_principal', 'Entidade.nome_secundario', 'Entidade.situacao', 'EntidadesEndereco.id', 'EntidadesEndereco.cidade', 'EntidadesEndereco.estado', 'EntidadesEndereco.uf', 'ContaOrigem.id', 'ContaOrigem.nome', 'ContaOrigem.contatipo_id', 'ContaOrigem.situacao', 'ContaDestino.id', 'ContaDestino.nome', 'ContaDestino.contatipo_id', 'ContaDestino.situacao', 'Anexo.id' ), 'limit' => 29, 'recursive' => -1 ); try { $AgendamentoFinanceiroParcelasReceber = $this->paginate('AgendamentoFinanceiroParcela'); } catch(NotFoundException $e) { $AgendamentoFinanceiroParcelasReceber = array(); $this->set('agendamentos_financeiros_parcelas', $AgendamentoFinanceiroParcelasReceber); $this->render('contas_receber_auto_paginate', 'ajax'); exit(); } } Passo por um array todos os estados $uf = array( 'AC' => 'AC', 'AL' => 'AL', 'AM' => 'AM', 'AP' => 'AP', 'BA' => 'BA', 'CE' => 'CE', 'DF' => 'DF', 'ES' => 'ES', 'GO' => 'GO', 'MA' => 'MA', 'MG' => 'MG', 'MS' => 'MS', 'MT' => 'MT', 'PA' => 'PA', 'PB' => 'PB', 'PE' => 'PE', 'PI' => 'PI', 'PR' => 'PR', 'RJ' => 'RJ', 'RN' => 'RN', 'RO' => 'RO', 'RR' => 'RR', 'RS' => 'RS', 'SC' => 'SC', 'SE' => 'SE', 'SP' => 'SP', 'TO' => 'TO', 'recursive' => -1 ); Mando para view $this->set('uf', $uf); E na view tenho o filtro de busca <td style="float: left;"> <div id="Grupo_ano" class="control-group"> <label class="control-label">UF</label> <div class="controls"> <div class="input-prepend input-append"> <?php echo $this->Form->select( 'Filtro.uf', $uf, array( 'class' => 'chzn-select-deselect', 'data-placeholder' => 'Selecione', 'label' => false, 'div'=> false, 'style' => 'width: 110px;', ) ); ?> </div> </div> </div> </td> Quando faço a consulta no filtro recebo esse erro e só com esse filtro Fala galera, estou tendo um erro no meu filtro ['Filtro']['uf'] de busca e não sei como resolver. Meu controller tem a seguinte verificação: $this->loadModel('User'); $this->loadModel('Conta'); $this->loadModel('Unidade'); $this->loadModel('Periodicidade'); $this->loadModel('AgendamentoFinanceiro'); $this->loadModel('Entidade'); $this->loadModel('EntidadesEndereco'); $arrayConditions = array(); $arrayContas = array(); $total_a_receber = 0; $arrayConditions['AND']['AgendamentoFinanceiroParcela.situacao'] = 'A'; // apenas os agendados $arrayConditions['AND']['AgendamentoFinanceiroParcela.tipo <>'] = 'S'; // diferente de saídas //se foi passado um parametro informando a agenda financeira if (!empty($agendamento_financeiro_id) && $agendamento_financeiro_id > 0) { //gera as proximas parcelas do agendamento informado: $this->AgendamentoFinanceiro->gerar_parcelas($agendamento_financeiro_id); //adiciona esta condição no filtro $arrayConditions['AND']['AgendamentoFinanceiroParcela.agendafinanceira_id'] = $agendamento_financeiro_id; } if(isset($this->params['named']['todos'])) { $this->data = array(); $this->Session->delete('AgendamentoFinanceiroParcelasReceber'); } if (!empty($this->data)) { if (!empty($this->data['Filtro']['unidade_id'])) { $arrayConditions['OR']['ContaOrigem.unidade_id'] = $this->data['Filtro']['unidade_id']; $arrayConditions['OR']['ContaDestino.unidade_id'] = $this->data['Filtro']['unidade_id']; $arrayContas = $this->Conta->find( 'list', array( 'conditions' => array( 'unidade_id' => $this->data['Filtro']['unidade_id'] ), 'fields' => array('id', 'nome'), 'recursive' => -1 )); } if(isset($this->data['Filtro']['conta_id']) && !empty($this->data['Filtro']['conta_id'])){ $arrayConditions['OR']['AgendamentoFinanceiro.conta_origem_id'] = $this->data['Filtro']['conta_id']; $arrayConditions['OR']['AgendamentoFinanceiro.conta_destino_id'] = $this->data['Filtro']['conta_id']; unset($arrayConditions['OR']['ContaOrigem.unidade_id']); unset($arrayConditions['OR']['ContaDestino.unidade_id']); } if (isset($this->data['Filtro']['entidade_id']) && !empty($this->data['Filtro']['entidade_id'])){ $arrayConditions['AND']['AgendamentoFinanceiro.entidade_id'] = $this->data['Filtro']['entidade_id']; } if (isset($this->data['Filtro']['uf']) && !empty($this->data['Filtro']['uf'])){ $arrayConditions['AND']['EntidadesEndereco.uf'] = $this->data['Filtro']['uf']; } if(isset($this->data['Filtro']['situacao']) && !empty($this->data['Filtro']['situacao'])){ $arrayConditions['AND']['AgendamentoFinanceiroParcela.situacao'] = $this->data['Filtro']['situacao']; if($this->data['Filtro']['situacao'] == 'V'){ // se foi escolhido 'vencido': $arrayConditions['AND']['AgendamentoFinanceiroParcela.situacao'] = 'A'; $arrayConditions['AND']['AgendamentoFinanceiroParcela.data_vencimento <'] = date('Y-m-d'); } } if (isset($this->data['Filtro']['data_inicial']) && !empty($this->data['Filtro']['data_inicial'])){ $arrayConditions['AND']['AgendamentoFinanceiroParcela.data_vencimento >='] = $this->Mswi->formatarData($this->data['Filtro']['data_inicial']); } if (isset($this->data['Filtro']['data_final']) && !empty($this->data['Filtro']['data_final'])){ $arrayConditions['AND']['AgendamentoFinanceiroParcela.data_vencimento <='] = $this->Mswi->formatarData($this->data['Filtro']['data_final']); } } $params = $this->Mswi->autoPaginate($this->params, 'AgendamentoFinanceiroParcela.data_vencimento', 'ASC', $arrayConditions); $this->AgendamentoFinanceiroParcela->bindModel(array( 'hasMany' => array( 'Anexo' => array( 'className' => 'Anexo', 'foreignKey' => 'agendamento_parcela_id' ) ) )); Ai tenho as condições e debugando o código ele me passa os índices corretamente inclusive me retorna os estados de cada registro tudo certinho if ((isset($this->params['ext']) && $this->params['ext'] == 'pdf') || isset($this->params['named']['excel'])) { $AgendamentoFinanceiroParcelasReceber = $this->AgendamentoFinanceiroParcela->find('all', array( 'conditions' => $params['conditions'], 'order' => array($params['sort'] => $params['direction']), 'contain' => array( 'AgendamentoFinanceiro' => array( 'CentroDeCusto' => array( 'fields' => array('id', 'numero', 'nome', 'situacao') ), 'fields' => array('id', 'tipo', 'situacao', 'numero_parcelas', 'periodicidade_id'), ), 'Entidade' => array( 'fields' => array('id', 'nome_principal', 'nome_secundario', 'situacao') ), 'ContaDestino' => array( 'fields' => array('id', 'nome', 'contatipo_id', 'situacao') ), 'ContaOrigem' => array( 'fields' => array('id', 'nome', 'contatipo_id', 'situacao') ), 'PlanoDeConta' => array( 'fields' => array('id', 'numero', 'nome', 'situacao') ), 'LancamentoFinanceiro' => array( 'fields' => array('id', 'agendamento_parcela_id', 'valor', 'tipo', 'situacao', 'observacoes'), 'CentroDeCusto' => array( 'fields' => array('id', 'numero', 'nome', 'situacao') ), 'Entidade' => array( 'fields' => array('id', 'nome_principal', 'nome_secundario', 'situacao') ), 'ContaDestino' => array( 'fields' => array('id', 'nome', 'contatipo_id', 'situacao') ), 'ContaOrigem' => array( 'fields' => array('id', 'nome', 'contatipo_id', 'situacao') ), 'PlanoDeConta' => array( 'fields' => array('id', 'numero', 'nome', 'situacao') ) ), 'AgendamentoFinanceiroParcelaFatura' => array( 'Fatura' => array( 'Boleto' => array( 'fields' => array('id') ), 'fields' => array('id', 'formadepagamento_id') ), 'fields' => array('id', 'agendamento_financeiro_parcela_id', 'fatura_id') ), 'Anexo' => array( 'fields' => array( 'id' ) ) ), 'fields' => array( 'id', 'data_vencimento', 'valor', 'descricao', 'situacao', 'tipo', 'parcela', 'entidade_id', 'conta_origem_id', 'conta_destino_id', 'planodeconta_id', 'numero', 'observacoes', 'email_enviado', 'lancamentofinanceiro_id' ) ) ); } else { $this->paginate = array( 'conditions' => $params['conditions'], 'order' => array($params['sort'] => $params['direction']), 'page' => $params['page'], 'joins' => array( array( 'table' => 'agendamentos_financeiros_parcelas_faturas', 'alias' => 'AgendamentoFinanceiroParcelaFatura', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcelaFatura.agendamento_financeiro_parcela_id = AgendamentoFinanceiroParcela.id', ) ), array( 'table' => 'agendamentos_financeiros', 'alias' => 'AgendamentoFinanceiro', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.agendafinanceira_id = AgendamentoFinanceiro.id', ) ), array( 'table' => 'lancamentos_financeiros', 'alias' => 'LancamentoFinanceiro', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.lancamentofinanceiro_id = LancamentoFinanceiro.id', ) ), array( 'table' => 'plano_de_contas', 'alias' => 'PlanoDeConta', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.planodeconta_id = PlanoDeConta.id', ) ), array( 'table' => 'entidades', 'alias' => 'Entidade', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.entidade_id = Entidade.id', ) ), array( 'table' => 'entidades_enderecos', 'alias' => 'EntidadesEndereco', 'type' => 'LEFT', 'conditions' => array( 'EntidadesEndereco.entidade_id = Entidade.id' , ) ), array( 'table' => 'contas', 'alias' => 'ContaOrigem', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.conta_origem_id = ContaOrigem.id', ) ), array( 'table' => 'contas', 'alias' => 'ContaDestino', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.conta_destino_id = ContaDestino.id', ) ), array( 'table' => 'anexos', 'alias' => 'Anexo', 'type' => 'LEFT', 'conditions' => array( 'AgendamentoFinanceiroParcela.id = Anexo.agendamento_parcela_id', ) ), ), 'fields' => array( 'AgendamentoFinanceiroParcela.id', 'AgendamentoFinanceiroParcela.data_vencimento', 'AgendamentoFinanceiroParcela.valor', 'AgendamentoFinanceiroParcela.descricao', 'AgendamentoFinanceiroParcela.situacao', 'AgendamentoFinanceiroParcela.tipo', 'AgendamentoFinanceiroParcela.parcela', 'AgendamentoFinanceiroParcela.entidade_id', 'AgendamentoFinanceiroParcela.conta_origem_id', 'AgendamentoFinanceiroParcela.conta_destino_id', 'AgendamentoFinanceiroParcela.planodeconta_id', 'AgendamentoFinanceiroParcela.numero', 'AgendamentoFinanceiroParcela.observacoes', 'AgendamentoFinanceiroParcela.email_enviado', 'AgendamentoFinanceiroParcela.lancamentofinanceiro_id', 'AgendamentoFinanceiroParcela.modified_by', 'AgendamentoFinanceiroParcela.modified', 'AgendamentoFinanceiroParcelaFatura.id', 'AgendamentoFinanceiroParcelaFatura.agendamento_financeiro_parcela_id', 'AgendamentoFinanceiroParcelaFatura.fatura_id', 'AgendamentoFinanceiro.id', 'AgendamentoFinanceiro.tipo', 'AgendamentoFinanceiro.situacao', 'AgendamentoFinanceiro.numero_parcelas', 'AgendamentoFinanceiro.periodicidade_id', 'LancamentoFinanceiro.id', 'LancamentoFinanceiro.agendamento_parcela_id', 'LancamentoFinanceiro.valor', 'LancamentoFinanceiro.tipo', 'LancamentoFinanceiro.situacao', 'PlanoDeConta.id', 'PlanoDeConta.numero', 'PlanoDeConta.nome', 'PlanoDeConta.situacao', 'Entidade.id', 'Entidade.nome_principal', 'Entidade.nome_secundario', 'Entidade.situacao', 'EntidadesEndereco.id', 'EntidadesEndereco.cidade', 'EntidadesEndereco.estado', 'EntidadesEndereco.uf', 'ContaOrigem.id', 'ContaOrigem.nome', 'ContaOrigem.contatipo_id', 'ContaOrigem.situacao', 'ContaDestino.id', 'ContaDestino.nome', 'ContaDestino.contatipo_id', 'ContaDestino.situacao', 'Anexo.id' ), 'limit' => 29, 'recursive' => -1 ); try { $AgendamentoFinanceiroParcelasReceber = $this->paginate('AgendamentoFinanceiroParcela'); } catch(NotFoundException $e) { $AgendamentoFinanceiroParcelasReceber = array(); $this->set('agendamentos_financeiros_parcelas', $AgendamentoFinanceiroParcelasReceber); $this->render('contas_receber_auto_paginate', 'ajax'); exit(); } } Passo por um array todos os estados $uf = array( 'AC' => 'AC', 'AL' => 'AL', 'AM' => 'AM', 'AP' => 'AP', 'BA' => 'BA', 'CE' => 'CE', 'DF' => 'DF', 'ES' => 'ES', 'GO' => 'GO', 'MA' => 'MA', 'MG' => 'MG', 'MS' => 'MS', 'MT' => 'MT', 'PA' => 'PA', 'PB' => 'PB', 'PE' => 'PE', 'PI' => 'PI', 'PR' => 'PR', 'RJ' => 'RJ', 'RN' => 'RN', 'RO' => 'RO', 'RR' => 'RR', 'RS' => 'RS', 'SC' => 'SC', 'SE' => 'SE', 'SP' => 'SP', 'TO' => 'TO', 'recursive' => -1 ); Mando para view $this->set('uf', $uf); E na view tenho o filtro de busca <td style="float: left;"> <div id="Grupo_ano" class="control-group"> <label class="control-label">UF</label> <div class="controls"> <div class="input-prepend input-append"> <?php echo $this->Form->select( 'Filtro.uf', $uf, array( 'class' => 'chzn-select-deselect', 'data-placeholder' => 'Selecione', 'label' => false, 'div'=> false, 'style' => 'width: 110px;', ) ); ?> </div> </div> </div> </td> Quando faço a consulta no filtro recebo esse erro e só com esse filtro Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'EntidadesEndereco.uf' in 'where clause' Alguém sabe o que pode ser errado, estão todos no mesmo nível de índice
  15. Matheus P.

    CakePHP + Envio de Email SSL e TLS

    Estou desenvolvendo um sistema de disparo de e-mail marketing, e funcionava normal, com servidores MTA. Estou utilizando a última versão do CakePHP 2, mas de uns dias para cá, o mesmo começou dar conflitos em conexão com servidores SSL, na porta 993 da "connection time out" e na pora 465 o seguinte erro: stream_socket_client() [<a href='http://php.net/function.stream-socket-client'>function.stream-socket-client</a>: SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed stream_socket_client() [<a href='http://php.net/function.stream-socket-client'>function.stream-socket-client</a>]: Failed to enable crypto stream_socket_client() [<a href='http://php.net/function.stream-socket-client'>function.stream-socket-client</a>]: unable to connect to ssl://mail.xyz.com.br:993 (Unknown error) Na porta 25 consigo conectar em qualquer servidor, mas o disparo é lento é inseguro, necessito utilizar o SSL. Testei em dois servidores, o da empresa e o da hospedagem, ambos aparecem o mesmo erro ao utilizar a porta 465. public $smtp = array( 'transport' => 'Smtp', 'emailFormat' => 'html', 'charset' => 'utf-8', 'headerCharset' => 'utf-8', 'from' => array('marketing@xyz.com.br' => 'Marketing XYZ'), 'host' => 'ssl://mail.xyz.com.br', 'port' => 993, //'port' => 465, 'timeout' => 30, 'username' => 'marketing@xyz.com.br', 'password' => '*****', ); CORE\Cake\Network\Email\SmtpTransport.php line 154 → CakeSocket->connect() */ protected function _connect() { $this->_generateSocket(); if (!$this->_socket->connect()) { throw new SocketException(__d('cake_dev', 'Unable to connect to SMTP server.'));
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.