を使用して:クエリ私エンティティがありサマリー表Symfony2の
Orderエンティティプロパティ製品と
/**
* @var string
*
* One Order has Many OrderProduct.
* @ORM\OneToMany(targetEntity="OrderProduct", mappedBy="order")
*/
private $product;
/**
* CatalogOrder constructor.
*/
public function __construct() {
$this->product = new ArrayCollection();
}
(このエンティティは、注文の数量を格納するのに必要とされる性質の製品、順番や数とOrderProductエンティティ製品)プロパティの順序と
/**
* @ORM\ManyToOne(targetEntity="CatalogOrder", inversedBy="product")
* @ORM\JoinColumn(name="order_id", referencedColumnName="id")
* @Assert\NotBlank()
*/
private $order;
/**
* @ORM\ManyToOne(targetEntity="Product", inversedBy="order")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
* @Assert\NotBlank()
*/
private $product;
/**
* @var int
*
* @ORM\Column(name="number", type="integer")
*/
private $number;
Productエンティティ
/**
* @ORM\OneToMany(targetEntity="OrderProduct", mappedBy="product")
*/
private $order;
public function __construct()
{
$this->order = new ArrayCollection();
}
フロントエンドで商品の名前を探したい、つまり「be」と入力して商品「ビール」のすべての注文を表示したいとします。
私の推測では、真実ではありません:あなたの問題は、今私が見
$qb->join('o.product', 'p')
->where('p.product.name LIKE :name')
->setParameter('name', '%'.$filters['productName'].'%');
あなたが受け取っていないものは何を得ていますか?これは 'LIKE'クエリでワイルドカードを使う正しい方法です。 –
[意味的なエラー] 'name LIKE:name'に近い行0、col 82:エラー:クラスShleif \\ CatalogBundle \\ Entity \\ OrderProductにproduct.nameという名前のフィールドまたはアソシエーションがありません " –