2016-07-05 15 views
-1

StofDoctrineExtensionsBundleと同じlinkがインストールされています。 対照的に、ページのレンダリングは非常に遅く、約5分です。ユーザーエンティティ(FOSUSERBUNDLE)でスラグ可能な機能のみが必要です。私はそれがいくつかの要素なしでより速く動作すると思う。SYMFONY2最小限の設定

このパッケージでのみ実行可能な最小構成は何ですか?すべてのマッピングが必要ですか(linkを見てください)?

私はconfig.ymlの例が必要です。

EDIT リスナーを追加した後、私のconfig.ymlに見えます:sluggと

... 
    orm: 
     default_entity_manager: default 
     auto_generate_proxy_classes: "%kernel.debug%" 
     entity_managers: 
      default: 
       connection: default 
       mappings: 
        AppBundle: ~ 
        gedmo_translatable: 
         type: annotation 
         prefix: Gedmo\Translatable\Entity 
         dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity" 
         alias: GedmoTranslatable # (optional) it will default to the name set for the mapping 
         is_bundle: false 
        gedmo_translator: 
         type: annotation 
         prefix: Gedmo\Translator\Entity 
         dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translator/Entity" 
         alias: GedmoTranslator # (optional) it will default to the name set for the mapping 
         is_bundle: false 
        gedmo_loggable: 
         type: annotation 
         prefix: Gedmo\Loggable\Entity 
         dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity" 
         alias: GedmoLoggable # (optional) it will default to the name set for the mappingmapping 
         is_bundle: false 
        gedmo_tree: 
         type: annotation 
         prefix: Gedmo\Tree\Entity 
         dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity" 
         alias: GedmoTree # (optional) it will default to the name set for the mapping 
         is_bundle: false 

... 
stof_doctrine_extensions: 
    class: 
     sluggable:  ~ 
... 

マイエンティティ:

namespace AppBundle\Entity; 
use Gedmo\Mapping\Annotation as Gedmo; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* Profile 
* 
* @ORM\Table(name="profile") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\ProfileRepository") 
*/ 
class Profile 
{ 
    /** 
    * @var int 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="name", type="string", length=150, nullable=true) 
    */ 
    private $name; 
    /** 
    * @Gedmo\Slug(fields={"title", "name"}) 
    * @ORM\Column(length=128, unique=true) 
    */ 
    private $slug; 
    /** 
    * @var string 
    * 
    * @ORM\Column(name="city", type="string", length=150, nullable=true) 
    */ 
    private $city; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="voivodeship", type="string", length=50, nullable=true) 
    */ 
    private $voivodeship; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="description", type="text", nullable=true) 
    */ 
    private $description; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="category", type="string", length=100, nullable=true) 
    */ 
    private $category; 


    /** 
    * 
    * @ORM\OneToOne(targetEntity="User", cascade={"persist"}) 
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true) 
    */ 
    protected $user; 
    /** 
    * Get id 
    * 
    * @return int 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * Set name 
    * 
    * @param string $name 
    * 
    * @return Profile 
    */ 
    public function setName($name) 
    { 
     $this->name = $name; 

     return $this; 
    } 

    /** 
    * Get name 
    * 
    * @return string 
    */ 
    public function getName() 
    { 
     return $this->name; 
    } 

    /** 
    * Set city 
    * 
    * @param string $city 
    * 
    * @return Profile 
    */ 
    public function setCity($city) 
    { 
     $this->city = $city; 

     return $this; 
    } 

    /** 
    * Get city 
    * 
    * @return string 
    */ 
    public function getCity() 
    { 
     return $this->city; 
    } 

    /** 
    * Set voivodeship 
    * 
    * @param string $voivodeship 
    * 
    * @return Profile 
    */ 
    public function setVoivodeship($voivodeship) 
    { 
     $this->voivodeship = $voivodeship; 

     return $this; 
    } 

    /** 
    * Get voivodeship 
    * 
    * @return string 
    */ 
    public function getVoivodeship() 
    { 
     return $this->voivodeship; 
    } 

    /** 
    * Set description 
    * 
    * @param string $description 
    * 
    * @return Profile 
    */ 
    public function setDescription($description) 
    { 
     $this->description = $description; 

     return $this; 
    } 

    /** 
    * Get description 
    * 
    * @return string 
    */ 
    public function getDescription() 
    { 
     return $this->description; 
    } 

    /** 
    * Set category 
    * 
    * @param string $category 
    * 
    * @return Profile 
    */ 
    public function setCategory($category) 
    { 
     $this->category = $category; 

     return $this; 
    } 

    /** 
    * Get category 
    * 
    * @return string 
    */ 
    public function getCategory() 
    { 
     return $this->category; 
    } 

    /** 
    * Set user 
    * 
    * @param \AppBundle\Entity\User $user 
    * 
    * @return Profile 
    */ 
    public function setUser(\AppBundle\Entity\User $user = null) 
    { 
     $this->user = $user; 

     return $this; 
    } 

    /** 
    * Get user 
    * 
    * @return \AppBundle\Entity\User 
    */ 
    public function getUser() 
    { 
     return $this->user; 
    } 
    /** 
    * Get slug 
    * 
    * @return string 
    */ 
    public function getSlug() 
    { 
     return $this->slug; 
    } 
} 

今すぐサイトが生成されませんでした。

# app/config/config.yml 
stof_doctrine_extensions: 
    class: 
     sluggable:  ~ 

そして、あなたのスラグのプロパティを作成します:

<?php 
namespace Entity; 

use Gedmo\Mapping\Annotation as Gedmo; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Table(name="articles") 
* @ORM\Entity 
*/ 
class Entity 
{ 
    ... 

    /** 
    * @Gedmo\Slug(fields={"username"}) 
    * @ORM\Column(length=128, unique=true) 
    */ 
    private $slug; 

    ... 
} 

答えて

1

私はアルザスの答えからリスナーの定義を変更して、それが今取り組んでいるリフレッシュデータベースと何もあなただけのコードはSluggableリスナーを有効にする必要があり

1

を助けました。

# app/config/config.yml 
stof_doctrine_extensions: 
default_locale: en 
orm: 
    default: 
     tree: false 
     timestampable: false 
     sluggable: true 
     translatable: false 
+0

リスナーを追加した後、何も変更されませんでした。私は私のファイルの質問を完了しました –

+0

あなたは私が書いたものだけが必要です。マッピング内のすべてのリスナーを削除してください... – Alsatian

+0

間違った構成(normaly 4)で作成された不要なSQLテーブルをすべて削除することを忘れないでください。 – Alsatian