Bom dia,
Estou tentando realizar um consulta ao banco de dados utilizando o framework Laravel, entretanto não estou tendo exito.
Na documentação o comando básico é mostrado como o seguinte:
$results = DB::select(‘select * from cliente where id = ?’, [1]);
No caso estou fazendo isso a partir de um controller, outro detalhe é que a consulta deve ser feita de um banco já existente(então o banco já ta criado, populado com dados e etc).
<?php namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;
use App\Http\Request;
use App\Http\Controllers\Controller;
class ListagemController extends BaseController {
public function selectCliente() {
$cliente = $_POST['cliente'];
$results = DB::select('select * from cliente where id = ?', [1]);
// return response()->view('list', $results);
}
}
Estou aprendendo a trabalhar com o Laravel agora, não sei mais o que fazer pra tentar resolver
Valeu! Vou tentar fazer assim depois
E pra exibir estes dados na view, estou usando a versão 5.3. Em alguns lugares eu vejo o pessoal fazendo mais ou menos assim:
é assim mesmo? Pelo que andei garimpando, cada versão a sintaxe muda ou pelo menos em cada lugar mostra de um jeito diferente, então acaba confundindo.
Mais uma pergunta, quando eu estou fazendo um JOIN no meu banco eu faço desta mesma forma pra passar pra view?
Meu problema atual é que eu tenho que fazer um consulta usando JOIN pra pegar várias tabelas e depois mandar pra view. Só que dá pau kkkkk
E eu não sei onde estou errando, pelo menos a query da consulta ta certa pois eu rodei no phpmyadmin. Portanto estou errando em alguma coisa no Laravel ;a;
Bom dia Guilherme.
Para você acessar na view é quase esse código que você colocou. Como não sei a estruturo do objeto $results vou supor que seja simples que ele tem um id e um nome ou seja, o objeto é $result->id e $result->nome. Você vai enviar para a view como te disse na post passado e na view ficaria assim:
Com relação a JOIN, sim é passado normalmente para view. Se o seu SQL está correto pode ser algum detalhe besta como alguma aspa onde não deve ter.
Dá uma olhada na documentação do laravel no eloquent, eu quase não utilizo sql no meu trabalho pois o eloquente tem uns atalhos interessantes. Por exemplo na seu consulta na tabela clientes com o eloquent você teria um model Cliente.php (que pode ser criado na linha de comando digitando php artisan make:model Cliente. E no controller você faria assim:
$results = Cliente::where('id', 1)->get();
ou poderia ainda usar a sintaxe:
$result = Cliente::find('1');
E seria devolvido o registro com id=1. Enfim existem muitas formas de se fazer as coisas com o laravel, sugiro a leitura de um livro da casa do código (custa acho que R$39,00) que ensina o básico do laravel, mas já é um bom começo.
Boa sorte.
Consegui pegar a base da sintaxe com seu exemplo.Foi de grande ajuda!
E descobri outra falha.Os campos no meu banco de dados tava assim:
Id
Nome
E na view estava assim:
id
nome
Case sensitive
Esse livro da casa do código eu tenho, to usando como referência. Você conhece algum outro livro bom?
Agora outro problema que estou tendo é que não estou conseguindo usar o BD online(Hostinger)
me é mostrado essa mensagem de erro:
PDOException in Connector.php line 119:
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Este host n�o � conhecido.
Os campos database,username e password estão preenchidos e estão corretos, da a entender pela mensagem de erro que ele não encontrou o Host, entretanto o Host é o mysql.hostinger.com.br.
Em localhost roda supimpa
Bom dia amigo,
Bom… com relação a outros bons livros em português não conheço, eu uso a documentação oficial. Nesse site http://laravel.artesaos.org/docs/master tem boa parte da documentação traduzida mas infelizmente a parte sobre banco de dados não está traduzida. Com relação a esse erro é como você disse, porém o firewall do provedor pode estar ignorando a conexão, eu uso o hostgator e nele para cada banco de dados você tem que indicar quem pode acessar o banco de dados, entra em contato com o suporte e pergunta se você precisa liberar alguma coisa no firewall para suas aplicações poderem acessar o banco de dados, pois para mim a configuração de acesso ao banco de dados está correta.
Boa sorte.
Pode ser livros em inglês também, dá pra quebrar um galho.
A documentação tem algumas coisas que mesmo lendo eu não entendo.Como por exemplo o uso de email.
Enfim, vou tentar falar com o suporte, qualquer coisa eu vou pra esse Hostgator, achei um tutorial que mostra como hospedar no Laravel (outra coisa que eu não consegui fazer no Hostinger ;a;)