搜尋

首頁  >  問答  >  主體

"Laravel連接兩個表併計算給定關聯表的列的總和"

<p>我有兩個 tanulky 明星和視頻和模型中的關係</p> <p>// 在 Star 模型中</p> <pre class="brush:php;toolbar:false;">public function videos() { return $this->belongsToMany(Video::class); }</pre> <p>和 // 在 Video 模型中</p> <pre class="brush:php;toolbar:false;">public function user() { return $this->belongsTo(User::class); }</pre> <p>如果我執行<code>$stars = Star::with('videos')->get();</code>,將列出演員(stars)和他出現的電影(videos )。我附上了一個 JSON 範例。 </p> <pre class="brush:php;toolbar:false;">[{"id":1,"name":"Marek","videos": [{"id":2,"user_id":1,"title":"ferwg","visitors":94,"pivot":{"star_id":1&t; :2}}, {"id":3,"user_id":1,"title":"fgtf","visitors":17,"pivot":{",star_id":1&idvid; 3}} ]}...</pre> <p>我在視訊表中有一個 visitors 項。我如何找出每個演員(stars)在他/她出演的電影中的總訪客數量? </p>
P粉617597173P粉617597173436 天前520

全部回覆(1)我來回復

  • P粉486743671

    P粉4867436712023-09-06 00:14:49

    collect($stars->first()['videos'])->sum(visitors);

    我使用了你的json數據,但你可以更有效地處理它。我真的建議你閱讀https://laravel.com/docs/9.x/collections這篇關於集合的文件。

    回覆
    0
  • 取消回覆