2017-10-27 18 views
0

私は関係を経由してちょうど平均取得しようとしていますから、平均を取得laravel 5の関係

私がやっていることである

私が欲しいもの
"followers_count": 0, 
"followings_count": 1, 
"posts_count": 1, 
"ratings": [ 
     { 
     "review_user_id": "2c61d7a0-7d05-11e7-8dab-6d6ba8a72982", 
     "avg": 3.25 
     } 
    ], 

は次のとおりです。

"ratings": 3.25 

助けていただければ幸いです。

PS:Laravel 5.2

+0

を行う必要があります。 '$ user_detail = Users :: selectRaw( 'review_user_id、avg(rate)AS avg') - > groupBy( '​​review_user_id') - > get();を使うことができます。 ' – Suraj

+0

[Eager Loadsを強制する](https://laravel.com/docs/5.5/eloquent-relationships#constraining-eager-loads)。あなたのすぐ上には__Eagerがあります。特定の列を読み込んでいます__ - $ users = App \ Book :: with( 'author:id、name') - > get(); ' – ljubadr

答えて

0

これは、なぜあなたは、すべての関係をロードしていることに

return $this->hasMany('\App\Reviews','review_user_id','user_id')-> 
selectRaw('review_user_id, avg(rate) AS avg')-> 
groupBy('review_user_id') 
->pluck('avg');