原则 DQL 按名称排序字段


Doctrine DQL Order By Name Field

我正在使用dql来查询我的表。

 $dql   = "SELECT p FROM WIC'ListingBundle'Entity'Listing p order by p.name";

我有两张桌子,ListingProducts.

Listing表中,我有一个引用Productsid字段product_id字段。

我希望能够按Productname字段对查询进行排序,但我也希望每次执行p.name时都不断收到错误。 p.name表中不存在Listing,这就是它抛出错误的原因,我只是不知道如何正确执行此操作。

Listing实体:

 /**
 * @ORM'ManyToOne(targetEntity="WIC'ProductBundle'Entity'Product", inversedBy="listings", cascade={"remove","persist"})
 * @ORM'JoinColumn(name="product_id", referencedColumnName="id")
 * @Common'Versioned
 * @Assert'NotBlank()
 */
protected $product;

左联接

试试这样一种方式:

 $dql   = "SELECT l FROM WIC'ListingBundle'Entity'Listing l LEFT JOIN l.product p order by p.name";