"Laravel joint deux tables et calcule la somme des colonnes de la table associée donnée"
P粉617597173
P粉617597173 2023-09-05 16:22:37
0
1
535
<p>J'ai deux stars tanulky et des relations dans des vidéos et des modèles</p> <p>//Dans le modèle Star</p> <pre class="brush:php;toolbar:false;">vidéos de fonction publique() { return $this->belongsToMany(Video::class); }</pré> <p>et // Dans le modèle Vidéo</p> <pre class="brush:php;toolbar:false;">utilisateur de fonction publique() { return $this->belongsTo(User::class); }</pré> <p>Si j'exécute<code>$stars = Star::with('videos')->get();</code>, l'acteur (les stars) et les films dans lesquels il a joué (les vidéos) être répertorié). J'ai joint un exemple JSON. </p> <pre class="brush:php;toolbar:false;">[{"id":1,"name":"Marek","vidéos" : [{"id":2,"user_id":1,"title":"ferwg","visiteurs":94,"pivot":{"star_id":1,"video_id" :2}}, {"id":3,"user_id":1,"title":"fgtf","visiteurs":17,"pivot":{"star_id":1,"video_id": 3}} ]}...</pré> <p>J'ai un élément de visiteurs dans le tableau vidéo. Comment puis-je connaître le nombre total de visiteurs pour chaque acteur (stars) dans les films dans lesquels il est apparu ? </p>
P粉617597173
P粉617597173

répondre à tous(1)
P粉486743671
collect($stars->first()['videos'])->sum(visitors);

J'ai utilisé vos données json, mais vous pouvez les traiter plus efficacement. Je vous recommande vraiment de lire https://laravel.com/docs/9.x/collectionscette documentation sur les collections.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal