2013-05-06 2 views
2

처음으로 우리가 프론트 엔드 녀석이고 재미있게 나에게 Laravel 4로 백엔드 물건을 더 배우려고 노력하고 있습니다. 그러나 나는 내 자신을 잃어 버렸고 나를 얻기 위해 어떤 지침을 찾고 있습니다. 올바른 방향으로 나아가는 것.Laravel에서 계산 코드 구성 : 모델 또는 컨트롤러?

스포츠 통계 (축구)가있는 간단한 앱을 제작하고 있습니다. 필자는 하나의 테이블에 테스트 데이터베이스를 만들었습니다.이 테이블에는 팀 이름 이외의 정수를 모두 포함하는 매우 기본적인 정보가 있습니다. 미래에 나는 팀을 다른 테이블로 옮기고 몇 가지 관계를 설정하지만 한 번에 한 단계 씩 진행하고 싶습니다.

그래서 내가하고 싶은 것은 간단한 계산으로 데이터를 가져 와서 편안한 컨트롤러로 출력하는 것입니다. 그래서 같은 것들 :

승리는 + +이 = 게임 플레이립니다 손실

(승리 * 3) + (무) = 지적

나의 첫번째 질문은 : 내가 그렇게 코드를 설정하는 방법 그것은 테이블의 모든 행을 반복하고 각 행에 대한 계산을 반환합니까? 두 번째로 : 모델이나 컨트롤러에서이 작업을 수행하는 것이 더 좋습니다. 첫 번째 질문에 대한 대답에서

답변

3

: 당신은 당신의 데이터베이스 테이블 중 하나에 데이터를 "게임 플레이"이 후

, 당신은 점점 의해 시작할 수 있었다 컨트롤러 중 하나에 데이터를 "게임 플레이"

public function get_games_list() 
{ 
    $this->layout->nest(
     'content', 
     'games.games_list', 
     array('games' => Game::getGames()) 
    ); 
} 

을하지만이 작동하기 전에, 우리는이 같은 모델 파일 ("게임"이라는 아마도 모델)에 무언가를 추가해야합니다 : 파일은 다음과 같이 (아마도 컨트롤러는 "Games_Controller을", 이름)

(210)

여기에서, 당신은 이런 관점에서 getGames()에서 반환 된 데이터 (아마도보기라는 "games_list.blade.php") 사용할 수 있습니다

<?php foreach ($games as $game) : ?> 
<?php echo $game->id ?>"> 
<?php echo $game->result ?> 
<?php endforeach ?> 

(result이 될 수를 " 승리/손실 "데이터베이스 테이블에서 데이터) 대답에


두 번째 질문 :.

계산 유형 코드를 모델로 옮기는 것은 좋지 않습니다. 그러나 거기에 거기에 "뚱뚱한 모델, 마른 컨트롤러"아이디어도 arguments related to 명심하십시오.

자세한 내용은

, 당신은 Laravel과 추가 작업에 대한 참조로이 Laravel Blog Tutorial에서 살펴 봐야 할 수 있습니다!

+1

뚱뚱한 모델/스키니 컨트롤러보기는 지금 약간 날짜입니다. 이것이 모델에 DCI 패턴이있는 이유입니다. 모든 것이 여전히 모델에 있지만 실행시에 필요한 메서드와 속성 만 가져옵니다. 좋은 대답, btw. – Oddman

+1

그러면 컨트롤러의 결과가 모달로 결과를 생성하는 함수가됩니까? 10 개 이상의 행을 반복하는 방법과 데이터베이스의 모든 행에 대해 자동으로 수행하는 방법이 혼동을 일으킬 수 있습니다. – user2356346

+0

@Oddman DCI 패턴을 언급 해 주셔서 감사합니다! – summea

관련 문제