2016-07-05 2 views
1

В моем контроллере я возвращаю представление с помощью коллекции? $programs? от красноречивого запроса к представлению.Laravel: как получить доступ к записи по id in view

Контроллер

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

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

Я бледный, чтобы сделать что-то вроде этого без него работает новый запрос с точки зрения ...

VIEW

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

Я знаю, что $programs - это набор данных, который уже имеет запись, но я не знаю, как ccess элемент по ID таким образом.

Как это сделать?

(извините, кажется, явно поиск вопроса, но мои условия поиска не пришедшие с ответом)

+0

Где вы получаете идентификатор из? – aynber

+0

произвольный 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

Если вы хотите показать только одну строку, вам нужно обработать ее на своем контроллере. 'foreach ($ programs as $ key => $ value) { if ($ value-> id == 5) $ program_unic = $ 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(); 
Смежные вопросы