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()'?如果按照圖片的位置對產品進行排序,那麼您展示的是哪種查詢? –