私のmysqlデータベースでは、 "User"と "UserProfile"という2つのテーブルがあります。テーブル "UserProfile"には、 "user"テーブルの "id"カラムにリンクする 'user_id'という名前の外部キーカラムがあります。さて、私はdbテーブルからdoctrineを使ってすべてのエンティティクラスを生成していますが、作成された "UserProfile"クラスには "user"という名前のプロパティがあり、user_idという名前のプロパティは含まれていません。 それはいいですか? 、doctrineのプライマリ/外部キーの関係
$user_profile_repo = $this->em->getRepository("UserProfile");
$user_profile = $user_profile_repo->findOneBy(array("user_id"=>$id));
しかし、生成されたエンティティクラスとして「USER_ID」プロパティが含まれていません:user_idを与えられた今
、私は、ユーザーのプロファイルを検索したい場合は、私はこのような何かを書くために必要な上記のコードは動作しません。今私はを知る必要があります上記のコードを動作させるにはどうすればいいですか?ありがとうございます。
あなたが列に名前を付け、必要があります協会。私はdocblockを使用します。 http://www.doctrine-project.org/docs/orm/2.0/ja/reference/association-mapping.htmlをチェックしてください。これは、ユーザープロファイルの列として定義する必要がある1対1の関係です。ユーザークラスでは、変数を追加して列なしで関連付けを定義することができます – galchen
これは私がしたくないことです。実際には、クラスが自動的に生成されるので、クラスを編集したくありません。だから、私は再びクラスを生成する必要がある場合、私のすべての変更はなくなります。だから、いくつかの代替方法を探しています。私はいくつかあると信じています... – Rana
あなたはする必要はありません。コメントを追加し、コマンドラインツールを使用してすべてを生成するだけです。私は例と答えを追加します – galchen