2017-10-03 5 views
0

私はLaravel 5.4を使用してプロジェクトを作成しています。 私はその3つのテーブルをその関係で使用しています。私のホームページで複数のテーブル結合と結果として1つのブレードのみを使用する

image description

私はforeach 9上の要素をやっています。そしてすべてがうまくいきます。

image description

これが私のルートです:

Route::get('/home', '[email protected]')->name('home'); 
Route::get("/game/{id_g}","[email protected]"); 
Route::get("/game/{id_g}","[email protected]"); 

マイコントローラ:

public function openGameHtml($chosenGame, Request $request) 
    { 
     $chosenGame = DB::table('games') 
     ->join('listhtmlgames', 'games.id_g', '=', 'listhtmlgames.id_g') 
     ->select('games.*', 'listhtmlgames.*') 
     ->where('listhtmlgames.id_g', $chosenGame)->get(); 

     //var_dump($chosenGame); 
     dd($chosenGame); 
     //print_r($chosenGame); 

     return view('openGame', compact('chosenGame')); 
    } 

    public function openGameCss($chosenGame, Request $request) 
    { 
     $chosenGame = DB::table('games') 
     ->join('listcssgames', 'games.id_g', '=', 'listcssgames.id_g') 
     ->select('games.*', 'listcssgames.*') 
     ->where('listcssgames.id_g', $chosenGame)->get(); 
     var_dump($chosenGame); 
     //($chosenGame); 
     //print_r($chosenGame); 

     return view('openGame', compact('chosenGame')); 
    } 

、私は1枚のブレードで複数の結果をforeachのためにしようとしています。ここに:

@foreach($chosenGame as $item) 
    <li><a href=""> 
    {{$item->name}}</a></li> 
@endforeach 

問題は常に私の最後のforeachで働いているコントローラのこれら2つの機能の1つです。私はこれらの2つの機能のために私のブレードを動作させる方法を見つけることができません。

答えて

0

あなたは両方の関数で同じ変数を渡していますが、その変数をループしている@foreachでもそうです。 異なる変数を設定し、それらをビューに渡します。一度ビューループ内の各変数から必要なプロパティを抽出します。

変更:

リターンビュー( 'openGame'、コンパクトな( 'openGameHtml'));

戻りビュー( 'openGame'、コンパクト( 'chosenGameCss'));

ビューでは、各変数名に@foreachを使用します。

問題は、同じ変数で異なる結果のコレクションを抽出したいということです。これは不可能で、2つの異なる変数を渡す必要があります。不便な点があれば投稿してください。それ以外の場合はOfficial Documentation - Passing Data to view

に移動します。
関連する問題