Php 原则2在刷新时执行两次插入

Php 原则2在刷新时执行两次插入,php,doctrine-orm,doctrine,duplicates,Php,Doctrine Orm,Doctrine,Duplicates,我第一次尝试了教义。我使用了“入门”页面 安装完所有内容后,我创建了一个简单的类并生成了数据库 <?php // src/testclass.php /** * @Entity @Table(name="testclass") **/ class TestClass { /** @Id @Column(type="integer") @GeneratedValue **/ protected $id; /** @Column(type="string") **

我第一次尝试了教义。我使用了“入门”页面

安装完所有内容后,我创建了一个简单的类并生成了数据库

<?php
// src/testclass.php
/**
 * @Entity @Table(name="testclass")
 **/
class TestClass
{
    /** @Id @Column(type="integer") @GeneratedValue **/
    protected $id;

    /** @Column(type="string") **/
    protected $username;

    /** @Column(type="string") **/
    protected $password;


    ... (getter and setter) ...

}

我终于解决了这个问题。我使用了一个.htaccess文件来调用index.php。所以代码运行了两次,只有一个日志文件可以证明这一点。我不知道为什么,但自从我删除并重新插入文件夹中的.htacces文件后,它就工作了。每次调用代码只运行一次


如果有人知道.htacces文件存在这些问题,我很乐意听到一些相关信息。

将$nchar添加到flush$entityManager->flush($nchar)?但首先:当你在代码中加入回音时,它多久被调用一次?
<?php
// bootstrap.php
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
use Doctrine\Common\Collections;

require_once "vendor/autoload.php";

$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__."/src"), true);
$conn = array(
    'driver'   => 'mysqli',
    'host'     => '127.0.0.1',
    'dbname'   => 'doctrine',
    'user'     => 'User',
    'password' => '123'
);

$entityManager = EntityManager::create($conn, $config);    

$nchar = new TestClass();
$nchar->setUsername("Lood");
$nchar->setPassword("789");

$entityManager->persist($nchar);
$entityManager->flush();