在本question和描述與「不可能」 回答我打開了一個新問題MYSQL教義排序
所以我的問題是這樣的: 我有一個表(的ServiceProvider表) 每個服務提供者有許多與OneToMany關係有關的報價(Offer表),並且每個Offer都有一個具有ManyToOne關係的主服務(服務表)。 我想要做的是按照與serviceProvider.points和serviceProvider.name相關的順序獲取所有服務提供者及其服務,並且每個服務提供者的服務應按照他們的要點進行排序。 所以對於更清晰的視野,讓我們說,我有以下
ServiceProvider
-------------------------------------------------
id | name | points |offers|
-------------------------------------------------
1 | c | 2 |1,2,3 |
-------------------------------------------------
2 | b | 1 |1,2 |
-------------------------------------------------
3 | a | 0 |1,3 |
-------------------------------------------------
ServiceOffer
-----------------------------------
id | name |service|
-----------------------------------
1 | a | 1 |
-----------------------------------
2 | b | 1 |
-----------------------------------
3 | c | 2 |
-----------------------------------
Service
-----------------------------------
id | name | points |
-----------------------------------
1 | a | 23 |
-----------------------------------
2 | b | 88 |
-----------------------------------
我究竟需要的是這樣的
results
service_provider.name| offers.name |
-------------------------------------
c | b , a |
-------------------------------------
b | a , b |
-------------------------------------
a | b , a |
-------------------------------------
這樣的結果是我試過的查詢,但它不工作
$query->select("sp")
->from("CoreBundle:ServiceProvider","sp")
->andWhere("sp.city = :city_name")->setParameter("city_name",$cityName)
->innerJoin("sp.offers","offer")
->innerJoin("offer.service","service","with","offer.service = service")
->orderBy("sp.points DESC , sp.name ASC , service.points");
必填字段
在服務提供者
/**
* @var ServiceOffer
*
* @ORM\OneToMany(targetEntity="ServiceOffer", mappedBy="serviceProvider")
*/
private $offers;
服務
/**
* @var integer
*
* @ORM\Column(name="points", type="integer", nullable=true)
*/
private $points;
在服務提供
/**
* @ORM\ManyToOne(targetEntity="Service", inversedBy="offer")
* @ORM\JoinColumn(name="service_id", referencedColumnName="id")
*
* @Serializer\Expose
* @Serializer\Groups({"service-offer", "order-entry"})
*
* @Assert\NotBlank(message="constraint.serviceOffer.service.not_blank")
*/
private $service;
爲什麼報價是的ServiceProvider表列表? –
,因爲這是我擁有的數據庫模型:/ –
您是否可以包含實體代碼?我不認爲地圖是正確的。 –