Gostaria de saber como faz pra buscar um dado em uma tabela e depois salvar este dado, juntamente com outros dados via $POST, em outra tabela. A principio coloquei no repositório, junto com o INSERT:
public function salvar(Carro $carro)
{
$sql2 = $pdo->prepare("SELECT * FROM marcas WHERE id=:idMarca ");
$sql2->bindValue(":idMarca", getId_Marca());
$sql2->execute();
while($row2 = $sql2->fetch(PDO::FETCH_ASSOC)){$marca = $row2["marca"];}
$sql = "INSERT INTO carros (id_marca, marca, modelo, versao) VALUES (?,?,?,?)";
$statement = $this->pdo->prepare($sql);
$statement->bindValue(1, $carro->getId_Marca());
$statement->bindValue(2, $marca);
$statement->bindValue(3, $carro->getModelo());
$statement->bindValue(4, $carro->getVersao);
$statement->execute();
}
No error_log aparece:
PHP Fatal error: Uncaught TypeError: Carro::construct(): Argument #2 ($marca) must be of type string, null given, called in /XXX/cadastrar-carro.php on line 13 and defined in /XXX/src/Modelo/Carro.php:10 Stack trace: #0 /XXX/cadastrar-carro.php(13): Carro->construct(NULL, '23', NULL, 'Vectra', 'CD') #1 {main} thrown in /XXX/src/Modelo/Carro.php on line 10**
Não mudei nada em src/Modelo/Carro.php, mantive a mesma estrutura passada no curso. Entendi que o dado não pode ser NULL. Mas como faço para buscar o dado e salvar na outra tabela? Qual a maneira correta de fazer isto?