Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Problema com o select em produto-altera-formulario.php

O meu select não está selecionando a categoria atual.

<select name="categoria_id">
            <?php foreach($categorias as $categoria) : 

                $categoriaAtual =  $produto->getCategoria() == $categoria->getId();
                $selecao = $categoriaAtual ? "selected='selected'" : "";
            ?>
            <option value="<?=$categoria->getId(); ?>" <?= $selecao?> ><?=$categoria->getNome(); ?></option>
            <?php endforeach ?>
         </select>

Se eu mando dar um echo em $produto->getCategoria(), aparece o seguinte erro:

 Catchable fatal error:  Object of class Categoria could not be converted to string in /opt/lampp/htdocs/loja/produto-formulario-base.php on line 28
2 respostas
solução!

Oi Fábio, o getCategoria está retornando um objeto da classe categoria, por isso o erro ao você tentar dar um echo.

Seu select não funciona porque você está comparando o id da categoria com um objeto categoria. Entende?

Neste caso, você pode solucionar facilmente o problema comparando os ids das categorias da seguinte forma:

`$categoriaAtual =  $produto->getCategoria()->getId() == $categoria->getId();

Obrigado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software