Ich habe ein Problem mit Doctrine ORM in Silex. Ich kann zwar Daten abrufen, aber keine Entität in meiner Datenbank speichern.Doktrin ORM in Silex: persist funktioniert nicht
Dies ist meine Konfiguration Lehre ORM:
$app['em'] = function ($app) {
$params = array(
'driver' => 'pdo_mysql',
'dbname' => 'beacon_prototype',
'host' => 'localhost',
'user' => '****',
'password' => '****',
'charset' => 'utf8',
);
$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__."/src/Domain"), true);
$driver = new AnnotationDriver(new AnnotationReader(), array(__DIR__."/src/Domain"));
AnnotationRegistry::registerLoader('class_exists');
$config->setMetadataDriverImpl($driver);
$em = EntityManager::create($params, $config);
return $em;
};
ich einen Gegenstand in meinem Controller bekommen kann:
$room = $app['em']->getRepository('Generic\Domain\Room')->findById($room_id);
Aber wenn ich versuche, eine Zeile in meiner Datenbank hinzuzufügen, es doesn arbeite nicht.
$booking = new Booking();
$booking->setEventName($event_name);
$booking->setRoom($room);
$booking->setUser($user);
$booking->setEventStart($event_start);
$booking->setEventEnd($event_end);
$app['em']->persist($booking);
$app['em']->flush();
Das ist mein Buch Modell:
namespace Generic\Domain;
als ORM \ ORM \ Mapping Verwendung \ Lehre;
/**
* Generic\Domain\Booking
*
* @ORM\Entity
* @ORM\Table(name="booking")
*/
class Booking
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="booking", fetch="EAGER")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
public $user;
/**
* @ORM\ManyToOne(targetEntity="Room", inversedBy="booking", fetch="EAGER")
* @ORM\JoinColumn(name="room_id", referencedColumnName="id")
*/
public $room;
/**
* @ORM\Column(type="string", length=255, nullable=false)
*/
public $event_name;
/**
* @ORM\Column(type="datetime", length=255, nullable=false)
*/
public $event_start;
/**
* @ORM\Column(type="datetime", length=255, nullable=false)
*/
public $event_end;
Vielen Dank für Ihre Antwort.