Estou usando o CakePHP 4 e por isso tive que fazer algumas modificações nos códigos. Quando vou salvar um produto, aparece a mensagem de erro do if: "Erro ao salvar o produto". Gostaria de saber o que está errado.
ProdutosController.php
<?php
namespace App\Controller;
use App\Model\Table\ProdutosTable;
use Cake\ORM\TableRegistry;
class ProdutosController extends AppController {
public function index() {
$produtosTable = TableRegistry::getTableLocator()->get('Produtos');
$produtos = $produtosTable->find('all');
// pra mandar uma variável pra visualização
$this->set('produtos', $produtos);
}
public function novo() {
$produtosTable = TableRegistry::getTableLocator()->get('Produtos');
$produto = $produtosTable -> newEmptyEntity();
$this->set('produto', $produto);
}
public function salva() {
$produtosTable = TableRegistry::getTableLocator()->get('Produtos');
$produto = $produtosTable -> newEmptyEntity($this->request->getData());
if ($produtosTable->save($produto)) {
$msg = "Produto salvo com sucesso :)";
} else {
$msg = "Não foi possível salvar o produto";
}
//pra disponibilizar a msg pra view (salva.php)
$this->set('msg', $msg);
}
}
As funções index e novo funcionam.