1

Symfony の「新規」インストールを行い、それを Sonata Admin Bundle と統合しました。
SAB について何か読んだ後、ダッシュボードに「カテゴリ」を追加してみることにしました。
私が知る限り、私はしなければなりません:

  • 私のエンティティとテーブルをデータベースに作成します(教義は私のためにそれを行います)
  • 新しいエンティティの管理者クラスを作成する
  • その管理者クラスをサービスとして登録しsonata.admin、要求どおりにタグ付けします

私の問題は、実質的にこれです:

Sonata User Bundle アプローチに従い、いくつかのクラス (FOSUserBundle から取得した User および Groups に付属) を見つけ、コードがあるモデルを拡張するエンティティ (空) を定義します。そのモデルには、プロパティ (列テーブル) とゲッターとセッターが含まれている必要があります。そこで、アノテーションメソッドを使用してそのモデルを書き始めました。これは私のコードです:

<?php

namespace Sonata\SestanteBundle\Model;

use Doctrine\ORM\Mapping as ORM;
/**
 * Sonata\SestanteBundle\Model\myFooEntity;
 *
 * @ORM\Table(name="myFooTable")
 * @ORM\Entity(repositoryClass="Sonata\SestanteBundle\Repository\myFooRepository")
 */

class myFooEntity
{
    /**
    * @ORM\Column(type="integer")
    * @ORM\Id
    * @ORM\GeneratedValue(strategy="AUTO")
    */
    private $id;

    /**
    * @ORM\Column(type="string", length=25, unique=true)
    */
    private $fooName;

    /**
    * @ORM\Column(name="is_active", type="boolean")
    */
    private $isActive;
}

今私が実行すると:

php app/console doctrine:generate:entities vendor/bundles/Sonata/SestanteBundle/Model

私はそのエラーを受け取ります:

[RuntimeException] 名前空間「vendor\bundles\Sonata\SestanteBundle\Model」には、マップされたエンティティが含まれていません。

私の頭に浮かんだこと:

  • マッピング方法が別の場所に設定されている場合、そのプロパティを .xml ファイルgroupsや usersなどに表現する必要がありますdoesか? 私config.ymlはただ「標準」の何かを見るだけです

このエラーを超えるためのアイデアはありますか?

編集:問題は名前空間またはこのようなものに関するものだと思います。別の名前 (存在しない) のエンティティを生成しようとすると、同じエラーが表示されます...

4

1 に答える 1

0

面倒かもしれませんが、@ORM\エンティティ内のすべてを削除し、コメントアウトまたは削除するuse Doctrine\ORM\Mapping as ORM;と、これに関する問題が以前に修正されました。名前空間がそこに配置される原因とそれを停止する方法を特定しようとしましたが、成功しませんでした。

于 2012-09-07T11:57:03.020 に答える