私は2つのエンティティを作成しました。 1.予約 2.レストランSymfonyでリレーショナルデータを取得するには?
予約照会を生成中、ユーザーはすべてのレストランのドロップダウンリストから1つのレストランを選択します。だから私はBookings EntityでMany2one関係を設定しました。
class Bookings
{
...
/**
* @var int
*/
/**
* @ManyToOne(targetEntity="Restaurants", inversedBy="restaurant_id")
* @JoinColumn(name="restaurant_id", referencedColumnName="id", onDelete="CASCADE")
*/
private $restaurantId;
...
public function __construct() {
$this->restaurantId = new ArrayCollection();
}
...
}
したがって、1つのレストランは各予約照会に関連付けられ、複数の予約照会はすべての予約と関連付けられます。
コントローラからすべての予約照会のリストを取得中です。私は予約テーブルの詳細のみを取得しています。すべての予約照会と一緒にidとres_nameのような関連するレストランの詳細を取得するにはどうしたらいいですか?
以下は、すべての予約照会を取得するためのクエリです。
$bookings = $this->getDoctrine()
->getRepository('AppBundle:Bookings')
->findAll();
しかし、私は予約エンティティに関係を設定していますが、このクエリはレストランの詳細ではなく予約の詳細のみを返しています。どのようにして結果セットで自動的に各予約照会と一緒にレストランの詳細を得ることができます。
こんにちはRichard、ソリューションをありがとう。私はこれを試しましたが、依然として結果セットにレストランの詳細を与えていません。 –
予約のインスタンスに対して$ booking-> getRestaurant()を呼び出すことができ、Restaurantインスタンスを返す必要があります。レストランのリストが必要な場合は、エンティティタイプとしてフォームに追加する必要があります。http://symfony.com/doc/current/reference/forms/types/entity.html – Richard