我有实体Product
和实体Subcategory
:如何根据Doctrine2中另一个Entitiy中的字段值获取实体?
Subcategory.php
namespace Project\Entities;
/**
* Subcategory
* @Entity
* @Table(name="subcategories")
*
*/
class Subcategory {
/**
*
* @Id
* @GeneratedValue
* @Column(type="integer")
* @var integer $id
*/
public $id;
/**
* @Column(type="string")
* @var string $name
*/
public $name;
}
Product.php
namespace Project\Entities;
/**
*
* Product
* @Entity
* @Table(name="products")
*/
class Product {
/**
*
* @Id
* @GeneratedValue
* @Column(type="integer",length=16)
* @var integer $id
*/
public $id;
/**
*
* @Column(type="integer",length=3)
* @var integer $id_subcat
*/
public $id_subcat;
/**
*
* @Column(type="string")
* @var integer $name
*/
public $name;
/**
*
* @Column(type="string")
* @var integer $available
*/
public $available;
}
我想获得的所有Subcategories
有Products
available
场等于1. Ergo。获取仅包含可用产品的子类别。
我知道如何写SQL
查询,但我不知道如何实现这个在DQL
。
我应该提供一些额外的注释吗?
不错的细节在此响应,尤其是最后一节。 – cantera
感谢有关表之间关系的信息,但实际上我希望在此查询中获得“子类别”。我澄清了我的问题,确切地说明了我的意思。 – pixel
我不知道您的产品表中使用了哪个字段来检查可用性...所以我只需要调用字段可用性。 '$ dql =“SELECT sc FROM Project \ Entities \ Subcategory sc JOIN sc.products p WHERE p.availability = 1 ORDER BY p.name ASC”' –