亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Eloquent groupBy() 在表關系上無法正常工作

Eloquent groupBy() 在表關系上無法正常工作

PHP
開心每一天1111 2022-05-27 16:39:04
該groupBy方法無法正常工作。我不確定是什么問題。更新我在表之間建立了hasMany()<->belongsTo()關系。地方modelprotected $table = "places";protected $guarded = [];public $with = ["plans"];public function plans(){    return $this->hasMany("App\Models\Plan");}計劃Modelprotected $guarded = [];public function place(){    return $this->belongsTo("App\Models\Place");}在控制器中,當我返回 json 數據時,我可以看到關系。$place = Place::with(["plans"])->get();return $place;結果很好。檢查圖像:https ://imgur.com/a/0CHXPhQ但是,當我嘗試groupBy()在place_name列上使用時。它不會將他們的計劃集中在一個地方......Place::with(["plans"])->groupBy("place_name")->get(); 結果:https ://imgur.com/a/qPxMU42如您所見,第二名的計劃沒有與第一名組合...它已經變得未知...預期結果計劃對象也應該分組,因為它們已place_name分組...知道是什么導致了這個問題嗎?我該如何解決?
查看完整描述

2 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

如果您遇到有時兩行由于分組依據而分組的問題,那么您可以做一件事。您可以使用 group by concat 兩個字段。

$data = Place::groupBy(\DB::raw('CONCAT(name, ' ', address)'))->paginate();

這是您可以放置并獲得期望結果的邏輯。


查看完整回答
反對 回復 2022-05-27
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

嘗試這個

$data = Place::groupBy(['name','address'])->paginate(20);


查看完整回答
反對 回復 2022-05-27
  • 2 回答
  • 0 關注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號