0
我有三个实体:Product
,ProductPicture
和Picture
。Symfony:如何排序One2Many/Many2One的一个实体?
我想的照片排序它的位置和下方this,代码尝试。
结果:它不是按位置排序的加入图片。它按照图片的位置排序产品。
我很困惑。据我所知,我跟着文档,但得到一个奇怪的结果。缓存被清除。
任何想法?提前致谢!
实体:产品
// ...
class Product {
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
protected $id;
/**
* @ORM\OneToMany(targetEntity="ProductPicture", mappedBy="product")
* @ORM\OrderBy({"position" = "DESC"}) // <------ !!!
*/
protected $pictures;
// ...
}
实体:ProductPicture
// ...
class ProductPicture {
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
protected $id;
/**
* @ORM\Column(type="integer")
*/
protected $position;
/**
* @ORM\ManyToOne(targetEntity="Product", inversedBy="pictures")
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
*/
protected $product;
/**
* @ORM\ManyToOne(targetEntity="Picture")
* @ORM\JoinColumn(name="picture_id", referencedColumnName="id")
*/
protected $picture;
// ...
}
实体:图片
// ...
class Picture {
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
protected $id;
/**
* @ORM\Column(name="path", type="string")
*/
protected $path;
// ...
}
你是如何获取的图片?你在做'$ product-> getPictures() - > getPicture() - > getPath()'?如果按照图片的位置对产品进行排序,那么您展示的是哪种查询? –