2016-07-05 4 views
1

私のコントローラでは、コレクションのあるビューを返す$programs?雄弁な質問から眺めまでLaravel:ビューでIDでレコードにアクセスする方法

$programs = ScheduledProgram::where('registration_start_date', '<=', $today) 

    return View::make('admin/register_users/show', compact(programs));  

コントローラは、私がいることを知っている...それはビューから新しいクエリを実行せずに、このような何かを

VIEW

{{$program->find(id)}} 

のWAN $programsはすでにレコードを持っているデータセットですが、 IDで要素をこのように処理します。

どうすればよいですか?

(申し訳ありませんが、明らかに、検索質問のように思えるが、私の検索用語は、答えを来ていない)あなたがデータにアクセスするために$プログラムで@foreachを行う必要があり、その場合には

+0

あなたからIDを取得しているの? – aynber

+0

任意のid - どの行がクリックされたかに基づいて動的に決定される特定のIDにアクセスしたい。 – Phil

+0

GET変数として渡してみませんか?次に、 'ScheduledProgram :: find($ id);'を使うことができます。クリックして同じページに表示したい場合は、javascript/ajaxを使用しなければならず、基本的に同じことを行う必要があります。 – aynber

答えて

0

を。このように:

{{$programs[0]->id}} 
+0

方法はありますかすべてを反復することなく 'id = 5'を得るためには? – Phil

+0

1行だけを表示する場合は、コントローラ上でそれを処理する必要があります。 'foreach($ keys => $ value){ if($ value-> id == 5)$ program_unic = $ value; } ' –

0

1.Youはにメソッドget(Laravelコレクションに「データセット」を変換)を追加する必要があります。

@foreach($programs as $key => $value) 
    {{$value->id}} 
@endforeach 

リターンは、あなたがこれを行うことができる唯一の1行である場合コレクションを繰り返します。

$programs = ScheduledProgram::where('registration_start_date', '<=', $today) 
      ->get() 

あなたが単一のレコードを取得したい2.Ifは:

ScheduledProgram::where('registration_start_date', '<=', $today)->where('id', 5)->get(); 
関連する問題