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

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

根據視圖的降序合并模型 - 創建一個活動頁面

根據視圖的降序合并模型 - 創建一個活動頁面

PHP
冉冉說 2023-07-01 15:27:08
所以我有兩個模型like和follow模型,我想創建一個活動頁面,用戶可以在其中相應地看到他的最新活動。我考慮過使用 Laravel 的merge功能合并視圖中的兩個模型,但我不知道如何指示用戶是否喜歡該帖子或關注博客。$like= Like::where('user_id', '=', auth()->user()->id)->orderBy('created_at','desc')->get();$follow = Follow::where('user_id', '=', auth()->user()->id)->orderBy('created_at','desc')->get();$all = $like->merge($follow);如果我在視圖中使用 if 語句,它將對視圖中的不同數據進行分組,而不是將它們組合在一起以形成活動時間線。如果你能幫忙謝謝
查看完整描述

1 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

您可以將這些集合合并在一起,并按照您希望的方式對它們進行排序/排序。我強烈建議不要將一個 Eloquent Collection 合并到另一個不同類型的 Eloquent Collection 中。與基礎集合類型 ( Illuminate\Support\Collection) 不同,Eloquent 集合 ( Illuminate\Database\Eloquent\Collection) 從它擴展而來,它考慮了模型的鍵。因此,如果您有 2 個集合,并且任何模型都具有相同的密鑰,它們將被覆蓋。您想要將這些集合之一轉換為基本集合,然后合并到另一個集合中:

$merged = $like->toBase()->merge($follow);
$sorted = $merged->sortByDesc('created_at');

或者甚至將它們都轉換為基本集合并合并:

$merged = $like->toBase()->merge($follow->toBase());


查看完整回答
反對 回復 2023-07-01
  • 1 回答
  • 0 關注
  • 113 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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