2016-06-12 2 views
1

У каждого пользователя есть пользователь (один к одному), языки и хобби (как многие, так и многие).Доступ к многомерному массиву в лезвии

Матч состоит из двух студентов (самостоятельно) отношения

я тусклый, чтобы заполнить многомерный массив с matchId, всю информацию о первом студента и все о втором. Я заселяю массив таким образом:

$matches = Match::getMatches($semester->id); 

foreach ($matches as $m) 
    { 
     $profiles[] = array( 
      'matchId' => $m->matchId, 
      'local' => Student::with('user', 'language', 'hobby')->where('user_id', $m->localUserId)->first(), 
      'incoming'=> Student::with('user', 'language', 'hobby')->where('user_id', $m->incomingUserId)->first()); 
    } 

Теперь я хочу получить доступ к этим данным в шаблоне клинка, но не могу добиться успеха.

{{ $profiles['local'] }} 

работает, но при добавлении что-то вроде

{{ $profiles['local']['email'] }} 

я получаю неприятные ошибки.

Любые подсказки?

+0

Помог ли мой ответ ниже? – jszobody

ответ

3

В настоящее время у вас нет многомерного массива. Вы сохраняете объект результата базы данных Eloquent в $profiles['local'], экземпляр класса Student.

Так что вам нужно получить к нему доступ, как это:

{{ $profiles['local']->email }} 

В качестве альтернативы можно поставить toArray() в конце, когда вы запрашиваете студента:

Student::with(...)->where(...)->first()->toArray(), 

Теперь вы бы сырым PHP, и вы можете получить к нему доступ, как вы изначально пытались:

{{ $profiles['local']['email'] }} 

Замечание: если вы не понимаете, как с ним что-то перемещаться, попробуйте использовать dd, чтобы проверить его.

<?php dd($profiles['local']); ?> 

Это покажет вам, что у вас есть экземпляр Student, и поможет вам понять, как провести его.

+0

Спасибо, сэр. Работал как шарм! –

Смежные вопросы