Jump to content

Search the Community

Showing results for tags 'yii2'.



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 2 results

  1. Mateus Silva

    Yii2 Relations

    Seguinte: Recentemente iniciei um projeto e optei por usar o Yii2 no mesmo (utilizo o yii1 no serviço, já estava familiarizado), porém... Notei que nas relations do Yii2, diferente do Yii1, o framework executa 2 queries... por exemplo: Ao invés de: SELECT interation.title, interation.message, user.name, user.email FROM interations AS interation LEFT JOIN users AS user ON (user.id = interation.user_id) Ele executaria: SELECT interation.title, interation.message, user.id FROM interations AS interation LEFT JOIN users AS user ON (user.id = interation.user_id) SELECT * FROM users WHERE id = (id_obtido_a_cima) Ou seja, enquanto no Yii1 ele cria a relation já buscando todos os dados que preciso, no Yii2, no join, ele apenas trás a FK da tabela que estou relacionando e posteriormente executa um SELECT * pela FK que retornou do join... nada interessante se pensando pra um sistema com muitas linhas de um grid, por exemplo, que em 10 linhas faria 20 consultas, performance vai lá pra vala! Acredito que tenham feito esta atualização por algum motivo que eu desconheço, alguém saberia como "burlar" isso, ou o motivo de ter sido feito desta maneira nesta nova versão?
  2. Boa tarde. Estou assumindo que este erro não tem relação com o SQL porque eu executei a query diretamente no banco de dados e não recebi nenhum erro. Quando acesso o site da empresa que trabalho no meu ambiente de desenvolvimento local, vejo a seguinte mensagem SQLSTATE[HY000]: General error The SQL being executed was: Error Info: Array ( [0] => HY000 ) ↵ Caused by: PDOException SQLSTATE[HY000]: General error in /../vendor/yiisoft/yii2/db/Command.php at line 840 Onde o erro yiisoft/yii2/db/Command.php at line 840 está executando uma query de consulta à tabela de sessão, que tem a seguinte estrutura: ( id CHAR(40) NOT NULL PRIMARY KEY, expire INTEGER, data BLOB, user_id INTEGER ) Analisando o Stack Trace, eu notei que o site faz essa busca pra verificar que o usuário está logado ou apenas visitando. Em algum momento cria um registro novo assim quando é acessado, salva o id num cookie PHPSESSID e então tenta buscar ele novamente, onde ele retorna esse erro. //yiisoft/yii2/web/DbSession.php public function readSession($id) { $query = new Query(); $query->from($this->sessionTable) ->where('[[expire]]>:expire AND [[id]]=:id', [':expire' => time(), ':id' => $id]); if ($this->readCallback !== null) { $fields = $query->one($this->db); return $fields === false ? '' : $this->extractData($fields); } $data = $query->select(['data'])->scalar($this->db); // linha 147 - é a query que causa o erro return $data === false ? '' : $data; } Não descobri onde ele cria o novo registro, mas parece que há uma falha aí, porque o campo data está ficando em branco, e acho que essa pode ser a causa. Eu já reinstalei e atualizei o PHP, o Apache e o Postgre. Também formatei o computador e o erro continua. O que me surpreende, pois no ambiente de produção isso não ocorre. Também tentei pular essa verificação de usuário, mas então o erro é substituído por outro de verificação de navegador, o qual escolhi não me aprofundar. E por fim não consigo debugar. Tinha o ambiente bem configurado com o sublime text e o chrome, mas depois que cometi o erro de formatar não consegui configurar novamente.
×

Important Information

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