Bom dia senhores,
Estou tendo um problema para retornar item selecionado na listagem de produtos. O item passa o id por parâmetro mas quando selecionado aparece uma página informando uma mensagem no assunto : 'Trying to get property of non-object'.
Dentro do método mostrar eu estou usando print_r($produtos).die(); e ele me retornr um array abaixo:
Array ( [0] => stdClass Object ( [id] => 1 [nome] => Geladeira [valor] => 5900.00 [descricao] => Side by Side com gelo na porta [quantidade] => 2 ) )
e quando eu chego na página detalhes eu utilizo o script:
<?php   
    print_r($produto);die();
 ?>
é exibido também um array.
Segue o código dos métodos do controle e do arquivo PHP;
ProdutoController
<?php namespace estoque\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Request;
class ProdutoController extends Controller
{
    public function lista(){
        $produtos = DB::select('select * from produtos');
        return view('listagem')->with('produtos', $produtos);
    }
    public function mostra(){
        $id = 1; // no exercício já fica setado só para fins de explicação.
        $produto = DB::select('select * from produtos where id = ?', [$id]);
        //print_r($produto);die();
        return view('detalhes')->with('produto', $produto);
    }
}
detalhes.php
<!DOCTYPE html>
<html>
<head>
    <title>Listagem de Estoques</title>
    <link rel="stylesheet" type="text/css" href="/css/app.css">
</head>
<body>
    <div class="container">        
        <h1>Detalhes do produto: <?= $produto->nome ?> </h1>
        <ul>    
          <li>
            <b>Valor:</b> R$ <?= $produto->valor ?> 
          </li>
          <li>
            <b>Descrição:</b> <?= $produto->descricao ?> 
          </li>
          <li>
            <b>Quantidade em estoque:</b> <?= $produto->quantidade ?>
          </li>
        </ul>
    </div>
</body>
</html>
segue o arquivo de rotas: Route.php
<?php
Route::get('/', function(){
    return '<h1>Segunda lógica com Laravel</h1>';
});    
Route::get('/produtos','ProdutoController@lista');
Route::get('/produtos/mostra','ProdutoController@mostra');
Gostaria que alguém me desse uma explicação e o que fazer a respeito. Cordialmente, Rafael