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

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

在 Laravel 中,如何讓銀行先擁有高數量的分行,然后再獲得低數量的分行

在 Laravel 中,如何讓銀行先擁有高數量的分行,然后再獲得低數量的分行

PHP
青春有我 2023-06-24 18:29:16
我正在使用 Laravel Relation 列出我的銀行分行和所有此設置的層次結構如下國家--有很多->銀行--有很多->分行。 $country = Country::where("iso2",  $this->app->request->route()->parameter('country'))->first();這是國家/地區模型中銀行的關系代碼:public function banks(){    return $this->hasMany(Bank::class);}以及銀行模型中的分行關系代碼 public function branches(){    return $this->hasMany(Branch::class);}現在我的動機是我只想讓這個國家的 15 家銀行可驗證,但條件是擁有大量分支機構的銀行將在列表中名列前茅。您能為我提供任何帶有 Laravel 雄辯查詢的簡單解決方案嗎?這對我來說將是一個很大的幫助。
查看完整描述

2 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

大家好,我使用 withCount 來解決這個問題,這是我的解決方案查詢

 $banks = Bank::where('country_id', $country->id)->withCount('branches')->having('branches_count', '>', 0)->orderBy('branches_count', 'DESC')->take(15)->get()->toArray();



查看完整回答
反對 回復 2023-06-24
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

嘗試這個:


$banks = Bank::with(['branches'])

->map(function ($bank) {

    $bank->num_branches = $bank->branches->count();

    $bank;

})

->sortByDesc('num_branches')

->take(15);


查看完整回答
反對 回復 2023-06-24
  • 2 回答
  • 0 關注
  • 143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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