Não sei o porque, mas os dados da minha tabela apareciam quando eu as referenciava pelo controller (jeito errado), agora que passei para a view listagem não aparece.
ProdutoController:
<?php
namespace estoque_teste\Http\Controllers;
use Illuminate\Support\Facades\DB; /* biblioteca para ter acesso ao banco de dados */
/*
TODo CONTROLLER DEVE HERDAR A CLASSE CONTROLLER
*/
class ProdutoController extends Controller
{
public function lista() {
$produtos = DB::select('select * from produtos'); //selecionando todos os dados de nosso banco
if(view()->exists('listagem')) { //se a pagina listagem existe...
return view('listagem', ['produtos' => $produtos]); //retorna o nome da pagina que queremos abrir
}
}
}
View listagem.php:
<html>
<head>
<link href="/css/app.css" rel="stylesheet">
<title>Controle de Estoque</title>
</head>
<body>
<div class="container">
<h1>Listagem de Produtos</h1>
<table class="table table-bordered table-hover">
<?php foreach ($produtos as $p): ?>
<tr>
<td><?php $p->nome ?></td>
<td><?php $p->valor ?></td>
<td><?php $p->descricao ?></td>
<td><?php $p->quantidade ?></td>
</tr>
<?php endforeach ?>
</table>
</div>
</body>
</html>
Rotas:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
/* Route::get('path', função com a resposta) */
Route::get('/', function () { // "/" é a pagina default do projeto
return '<h1>Primero projeto com Laravel</h1>';
});
Route::get('/produtos', 'ProdutoController@lista');