我正在关注" Doctrine"简单,简短的教程 (here)
我遇到了create_product.php
文件的问题。这里
是我自己的create_product.php file
,它有几行代码
添加到原始文件以进行调试:
<?php
// create_product.php
require_once "bootstrap.php";
require_once "src/Product.php";
$newProductName = $argv[1];
$product = new Product();
$product->setName($newProductName);
var_dump($product);
echo "Step 1 done\n";
$entityManager->persist($product);
echo "Step 2 done\n";
$entityManager->flush();
echo "Step 3 done\n";
echo "Created Product with ID " . $product->getId() . "\n";
当我在终端中尝试php create_product.php Alice
时,
我得到以下输出:
ewandelanoy$ php create_product.php Alice
class Product#22 (2) {
protected $id =>
NULL
protected $name =>
string(5) "Alice"
}
Step 1 done
Step 2 done
ewandelanoy$
正如您所看到的,&#34; flush&#34;之后没有任何内容打印出来。步, 事实上我的数据库还没有更新。
我做错了什么?任何帮助表示赞赏。
答案 0 :(得分:2)
因为您不在Symfony项目中并且没有错误日志,所以您必须设置错误日志记录。在您的php文件中,您可以在文件顶部添加以下内容:
error_reporting(E_ALL);
或者,做一些像:
try {
$entityManager->flush();
} catch (\Exception $e) {
print $e->getMessage();
}
要在刷新期间捕获异常,如果有异常。