내 데이터베이스에서 게임 리뷰의 평균 점수를 반환하고 싶습니다.Laravel 4 - 모델 내 평균 점수 반환?
GAMES (id, title, etc)
REVIEWS (game_id, user_id, score, etc)
CONTROLLER :
public function singleGame($id)
{
$game = Game::find($id);
if ($game)
{
return View::make('game')->with('game', $game);
}
else
{
return Redirect::to('/');
}
}
내 생각은 희망 $ game-을 통해 게임에 대한 평균 점수를 반환하는 것입니다> 평균 나는 Laravel 4
테이블 구조 내 사이트를 구축하고 내 견해로는,하지만 나는 내 게임 모델을 만지작 거리며 원하는 결과를 낼 수 없었다.
게임 모델 :
public function scores()
{
return $this->hasMany('Review')->avg('score');
}
나는 쿼리 빌더 가능한 방법의 숫자를 시도했다, 그러나 Laravel/PHP에 관해서 나는 아직도 밧줄을 배우고, 그래서 좀 붙어 . 아마도 내가 다르게 문제에 접근해야합니까?
감사합니다. 이것은 당신이 당신의 게임 모델에서의 관계에 대한 리뷰 기능을 가지고 있다고 가정
가독성 (두 개의 쿼리)
$game = Game::find(1);
$game->average = $game->reviews()->avg('score');
참고 :
나는 IRC .. 분노에 답하고있었습니다. 여기 내가 말한 것이있다. IRC에서 도와 드리겠습니다. http://paste.laravel.com/XuF – Robbo
하하. 죄송합니다. 제 인터넷 연결이 끊어졌습니다. 그리고 네, 여기 빅 그래프를 사무실에서 사용합니다! – Scully
또한 (무엇인가) 돌아 오는 경우에 무엇이 잘못 되었습니까; 그렇지 않으면? 어떻게 할 수 있니? – Scully