У меня есть три разных таблицы: persons, students и teachers. Мне удалось объединить три таблицы и получить данные следующим образом:

public function viewProduct()
{
    $persons = Person::with(['students','teachers'])->get();
    return view('master.viewPeoples', compact('persons'));
} 

Я хочу получить доступ к данным в моем блейде. Как я могу получить данные таблицы учеников и учителей в своем шаблоне блейда? У меня есть столбцы rollNum, year и semester в таблице students, а также столбцы salary и courses в {{X6} } стол.

Следующий исходный код возвращает данные только из таблицы person.

@foreach($persons as $person)
    {{ $person->name }}
    {{ $person->universityNum }}
    {{ $person->rollNum  }}        //returns blank
    {{ $person->year }}            //returns blank
    ...         
@endforeach

Я получаю все данные для студентов и преподавателей, когда я делаю это:

@foreach($persons as $person)
    {{ $person->students }}
    {{ $person->teachers }}
@endforeach

Но я хочу получить доступ к данным каждого столбца таблицы учеников и учителей отдельно, например $students->rollNum

0
cnayak 24 Апр 2017 в 18:51

2 ответа

Лучший ответ

Попробуй это

@foreach($persons as $person)
   {{ $person->name }}

   @foreach($person->students as $student)
      {{ $student->rollNum }}
      {{ $student->year }}
   @endforeach

  // Do same for teachers here
@endforeach

Надеюсь, это поможет

1
oseintow 24 Апр 2017 в 16:41

Попробуй это

@foreach($persons as $person)
    {{ $person->students->rollNum }}
    {{ $person->teachers->rollNum }}
@endforeach

Или

@foreach($persons as $person)
    {{ $person->students_rollNum }}
    {{ $person->teachers_rollNum }}
@endforeach
0
Ryan Rahman Setiawan 24 Апр 2017 в 16:15
43592599