該groupBy方法無法正常工作。我不確定是什么問題。更新我在表之間建立了hasMany()<->belongsTo()關(guān)系。地方modelprotected $table = "places";protected $guarded = [];public $with = ["plans"];public function plans(){ return $this->hasMany("App\Models\Plan");}計(jì)劃Modelprotected $guarded = [];public function place(){ return $this->belongsTo("App\Models\Place");}在控制器中,當(dāng)我返回 json 數(shù)據(jù)時(shí),我可以看到關(guān)系。$place = Place::with(["plans"])->get();return $place;結(jié)果很好。檢查圖像:https ://imgur.com/a/0CHXPhQ但是,當(dāng)我嘗試groupBy()在place_name列上使用時(shí)。它不會將他們的計(jì)劃集中在一個(gè)地方......Place::with(["plans"])->groupBy("place_name")->get(); 結(jié)果:https ://imgur.com/a/qPxMU42如您所見,第二名的計(jì)劃沒有與第一名組合...它已經(jīng)變得未知...預(yù)期結(jié)果計(jì)劃對象也應(yīng)該分組,因?yàn)樗鼈円裵lace_name分組...知道是什么導(dǎo)致了這個(gè)問題嗎?我該如何解決?
2 回答

Qyouu
TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
如果您遇到有時(shí)兩行由于分組依據(jù)而分組的問題,那么您可以做一件事。您可以使用 group by concat 兩個(gè)字段。
$data = Place::groupBy(\DB::raw('CONCAT(name, ' ', address)'))->paginate();
這是您可以放置并獲得期望結(jié)果的邏輯。

神不在的星期二
TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試這個(gè)
$data = Place::groupBy(['name','address'])->paginate(20);
- 2 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)
0/150
提交
取消