1

table_item、table_category、table_items_statusといういくつかのテーブルがあると想像してみてください。これは、独自のエンティティを使用して、シングルモード(リレーションなし)のサービスによって更新されます。

たとえば、このテーブルの関係のみを持つ1つのエンティティを作成できますか?

** 
* @ORM\OneToOne(targetEntity="table_item")
* @ORM\JoinColumn(name="itemID", referencedColumnName="itemID")
**
private $tableItemIDByItemID
// ... getter\setter

**
* @ORM\Column(type="integer")
**
private $itemID;
// ... getter\setter

PHPコードで私は単に呼び出したい

$entity->setItemID(123);
$result = $entity->getTableItemIDByItemID();

そして、itemIDによってtable_itemからArrayCollection()を取得します。

私が望む主なことは、いくつかのテーブルの関係と単方向のみの関係でのみ追加のエンティティを作成することです。関係のために別のエンティティに触れることなくエンティティを作成するためにこれが必要です。

4

1 に答える 1

0

エンティティリポジトリを調べる必要があります。これらはいくつかの基本的な機能クエリを提供しますが、独自のカスタムクエリ(例:getItemIDByItemID)で拡張できます。これはリポジトリパターンと呼ばれます。エンティティは、データベースの単なるオブジェクト表現です。

Symfony2マニュアル:

「エンティティのカスタムリポジトリクラスを作成し、そこにクエリロジックを使用してメソッドを追加することをお勧めします。」

リポジトリに関する詳細情報:

http://symfony.com/doc/current/book/doctrine.html#custom-repository-classes http://www.zalas.eu/doctrine2-and-symfony2

于 2013-02-06T12:50:35.157 に答える