2016-07-05 124 views
1

在我的控制器中,我返回一個帶有?collection $programs的視圖?從雄辯的查詢到視圖。Laravel:如何通過ID查看記錄

控制器

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

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

我婉做這樣的事情沒有它運行從視圖中的新查詢...

VIEW

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

我知道, $programs是已有記錄的數據集,但我不知道如何這種方式通過ID訪問元素。

我該怎麼做?

(對不起,似乎是一個明顯的搜索問題,但我的搜索字詞不與正在添加的答案了)

+0

你從哪裏得到的ID? – aynber

+0

任意ID - 我想訪問一個特定的ID,這是根據點擊的行動態確定的。 – Phil

+0

那麼爲什麼不把它作爲一個GET變量傳遞呢?然後你可以使用'ScheduledProgram :: find($ id);'。如果你想要它可點擊並顯示在同一頁面上,你將不得不使用javascript/ajax,基本上也是這樣。 – aynber

回答

0
在您需要在$程序的@foreach訪問數據的情況下

。就像這樣:

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

如果返回的是隻有一條線,你可以這樣做:

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

有沒有辦法得到'id = 5'而沒有迭代它們的那個? – Phil

+0

如果你想只顯示一行,你需要在你的控制器上處理它。 ($ value-> id == 5)$ program_unic = $ value; {$ value-> id == 5} $ foreach($ program作爲$ key => $ value){ } ' –

0

1.You有GET方法(轉換在Laravel集合了「數據集」)添加到迭代集合。

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

2.如果你想獲得一個記錄:

ScheduledProgram::where('registration_start_date', '<=', $today)->where('id', 5)->get();