나는 개체 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;
}
내가 좀하고 싶습니다 Products
available
필드가 모두 Subcategories
1과 동일합니다. Ergo. 해당 제품 만 사용할 수있는 하위 범주를 가져옵니다.
나는이 질문을 SQL
으로 작성하는 방법을 알고 있지만 이것을 달성하는 방법을 모르겠다. DQL
.
몇 가지 추가 주석을 제공해야합니까? 협회 매핑에 대한
좋은 세부 사항, 특히 마지막 부분 등의 내용을 반환하는 방법을 서식에 매우 도움이 될 수 있습니다. – cantera
테이블 간의 관계에 대한 정보를 보내 주셔서 감사합니다.하지만 실제로이 쿼리에서 하위 카테고리를 가져 오기를 희망했습니다. 나는 내 뜻을 정확히 설명하기 위해 나의 질문을 명확히했다. – pixel
재고 확인을 위해 Products 테이블에서 어떤 필드를 사용하고 있는지 알 수 없으므로 필드 가용성을 호출하겠습니다. '$ dql = "Project \ Entities \ Subcategory SC에서 선택하십시오. SC.products WHERE p.availability = 1 ORDER BY p.name ASC" –