2016-09-28 6 views
1

コントローラの他のフィールドを表示するIDが含まれている場合:配列は、そのID

$games=Game::all(); 
    $results=Result::get()->toArray(); 
    $check=NULL; 
    if(is_array($results)) 
    { 
     foreach($results as $result) 
     { 
      $check[]=$result['game_id']; 
     } 
    } 
    return view('index')>with(['games'=>$games,'check'=>$check]); 

results tabel(結果モデル)game_idは結果表に含まれているかどうか、私がチェックしたid, game_id, won_by が含まれています。はいの場合はwon_byフィールドのgame_idを表示します。 GameResultとの間の関係を設定し

<?php 
foreach($games as $game) 
{ 
    if(is_array($check) && in_array($game->id,$check)) 
    { 
      echo "Won by"; 
    } 
... 
+0

問題は何ですか? –

+0

@u_mulderそのgame_idのwon_byフィールドを結果テーブルに表示したいとします。 – Steve

答えて

2

class Game extends Eloquent 
{ 
    public function result() 
    { 
     return $this->belongsTo(Result::class); 
    } 
} 

次に、結果をゲームに読み込みます。

$games = Game::with('result')->all(); 

次に、ビューでループすることができます。彼らに結果があるなら、あなたは彼らが勝ったことを知っています。

@foreach ($games as $game) 
    @if ($game->result) 
     Game won by {{ $game->result->won_by }} 
    @endif 
@endforeach 
関連する問題