Ich versuche, ein paar Entitäten mit der neuen Sylius-Version (1.0) zu erstellen.Sylius - Implementiert Slugable und Timestampable in neue Entität
Ich lese ihre Dokumente, aber ich bin ein bisschen verrückt.
Ich habe eine neue Entität Book.php
.
Diese Einheit bekam drei Felder, Autor, Titel und Inhalt.
Wie kann ich Slugable und Timestampable für diese Entität verwenden, um mithilfe von Anmerkungen zwei neue Felder in dieser Entität zu erstellen?
Ich versuche, eine Schnittstelle BookInterface.php
zu erstellen, die Slugable und Timestampable-Schnittstellen erweitert, aber offensichtlich, Doctrine nicht die Felder von Schnittstellen zuordnen.
book.php
<?php
namespace Acme\SyliusBookBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Sylius\Component\Resource\Model\ResourceInterface;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* Book
*
* @ORM\Table(name="book")
* @ORM\Entity(repositoryClass="App\SyliusBookBundle\Repository\BookRepository")
*/
class Book implements ResourceInterface
{
public function __construct()
{
$this->createdAt = new \DateTime();
}
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var int
*
* @ORM\ManyToOne(targetEntity="Sylius\Component\User\Model\User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $author;
/**
* @var string
*
* @ORM\Column(name="content", type="text")
*/
private $content;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255)
*/
private $title;
GELÖST
Mit Merkmal Gedmo Einheit funktioniert perfekt.
Gedmo\Timestampable\Traits\TimestampableEntity;
Dann ist es Klasse auf Ihrem Unternehmen verwenden:
class Post implements ResourceInterface
{
use TimestampableEntity;
Ich weiß nicht Sylius aber warum schreibst du nicht einfach: '/ ** @var \ DateTime @Gedmo \ Timestampable (auf =" update ") ... */private $ aktualisiert;' für Zeitstempel und '/ ** @var string @Gedmo \ Slug (fields = {" name "}) ... */private $ slug;' für slug? – lolmx
Vielen Dank für Ihre Antwort @lolmx, aber ich versuche, über bewährte Verfahren mit Sylius zu lernen :) –