후보자가 투표되는 Lolavel 4에서 간단한 투표 응용 프로그램을 작성합니다. 나는 일대 다 관계로 후보자와 투표를하는 두 개의 실체를 가지고 있습니다. 누군가가 버튼을 클릭하면 후보자의 ID를 얻고 하나의 필드가 candidate_id
인 투표 테이블에 저장합니다. 나는 내가 그렇게Laravel 4의 다른 컨트롤러에서 뷰에 변수 전달
$candidates = Candidate::all();
return View::make('votes.voteresults',['candidates'=>$candidates]);
행으로 표를 저장하는 건가요처럼 모든 후보자를 전달 voteresults
라는 또 다른 VoteController 기능이 위의에서이
$vote = new Vote;
$candidate_id =Input::get('name');
$candidate = Candidate::find($candidate_id);
$vote = $candidate->votes()->save($vote);
$count = DB::table('votes')->where('candidate_id','==','$candidate_id')->count();
Session::flash('message', 'Successfully Cast your vote!');
return Redirect::to('voteresults')->with('count',$count);
과 같은 votesuccess
라는 VoteController
기능이 이 코드를 따라서 행 수를 계산하여 투표 수를 계산하고 싶습니다.
$count = DB::table('votes')->where('candidate_id','==','$candidate_id')->count();
am 시도 후보 정보 플러스 그들이 보이는 voteresults
라는 관점에서 가지고 투표 수 모두에 액세스 할 수 보내고이
<tbody>
@foreach($candidates as $key => $value)
<tr>
<td><img src="{{$value->avatar->url('thumb')}}" alt="..."></td>
<td>{{ $value->name }}</td>
<td>{{ $value->manifesto }}</td>
<td>
{{ $count }}
</td>
</tr>
@endforeach
</tbody>
오전 내가 투표 수를 캡처 할 수 있도록보기로 $count
변수를 전달하려고 시도 후보자에게. 이런 식으로 할 수 있는지, 아니면 할 수있는 좋은 방법이 있는지 나는 모른다. 내가 이것을 실행하려고 할 때 나는 얻는다. undefined variable count
어떤 안내도 환영한다.
Y 그것은 작동하지만 카운트 변수는 모든 후보에 대해 0을 반환 할 수 있습니다. 아마도 내 쿼리에 문제가있을 수 있지만 특정 'candidate_id'가있는 모든 행을 어떻게 계산합니까? –
아하하. jwalton512의 업데이트 된 답변을 참조하십시오. 그게 올바른 방법이라고 생각합니다. –
예, 저에게는 효과가있었습니다. 감사합니다. –