0
當我使用group by時,結果被分組,但不是所有的都被返回。在這裏我有六個結果,但我只得到五個結果。所以基本上room_id = 17
得到條目103
和條目106
不返回。Laravel - Eloquent組
下面是我在做什麼:
$prices = $hotel->prices()->groupBy('room_id')->get();
當我使用group by時,結果被分組,但不是所有的都被返回。在這裏我有六個結果,但我只得到五個結果。所以基本上room_id = 17
得到條目103
和條目106
不返回。Laravel - Eloquent組
下面是我在做什麼:
$prices = $hotel->prices()->groupBy('room_id')->get();
有沒有像你希望的分組的一種方式。執行查詢時,您可以在集合雄辯返回上使用groupBy()
。訣竅是在數據庫檢索之後groupBy()
。請查詢this獲取更多信息。
一個例子是這樣的:
$prices = $hotel->prices()->get(); // Returns a Collection of results
$prices = $prices->groupBy('room_id'); // Grouped by room_id
這將導致一個集合,看起來像:
[
'39' => [
// 1 row
],
'40' => [
// 1 row
],
'17' => [
// 2 rows
],
.....
]
這個數組的鍵將代表ROOM_ID。在每個鍵上,這個數組將是包含具有指定的room_id的行的另一個數組。
希望這有助於:)
當然,這是一個'GROUP BY'做什麼。你想實現什麼? –
@ThomasVanderVeen我想得到五個結果,其中一個包含兩個結果,因爲它們都具有相同的'room_id' – omarsafwany