Попытка получить свойство 'отдел' необъекта в laravel с отношением один ко многим - PullRequest
0 голосов
/ 09 января 2020

На самом деле я хочу, чтобы отношения с двумя таблицами, одна таблица ученика, где некоторые данные студента. другая таблица имеет уведомление отдела. Я хочу получить доступ к уведомлению отдела в соответствии со студентами отдела. Студент имеет логин, пароль, отдел и много другой информации об отдельном ученике на столе ученика. Скриншот приведен ниже

enter image description here

Теперь я хочу попробовать получить доступ в соответствии с отделом. Еще один столовый отдел. снимок экрана приведен ниже.

enter image description here Здесь дана модель CseDepartment

 public function administration()
{
    return $this->belongsTo('App\Administration','dept');
}

Модель администрирования

 public function department()
{
    return $this->hasMany('App\CseDepartment','dept');
}

Функция приведена ниже

public function individualdepartment(){
        $this->AdminAuthCheck();
        $id=Session::get('id');
        $student=Administration::find($id);

        return view('Student.department',compact('student'));
    }

просмотр страницы отдела

@foreach ($student as $students)
                    {{-- expr --}}

                <tr>
                    <td>{{$students->department->name}}</td>
                    <td>{{$students->department->message}}</td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
                    @endforeach

1 Ответ

0 голосов
/ 09 января 2020

В вашем контроллере вы вызываете метод find(), который дает вам один объект, student.

$student=Administration::find($id);

На странице blade вы затем запрашиваете l oop для этого единственного объекта и создаете коллекцию:

@foreach ($student as $students) // There is only ONE student, this will not loop.

Если вы хотите вышеописанное для работы, вы можете получить коллекцию с вашего контроллера :

// Note the plural naming convention to make it a little more clear
$students=Administration::all(); 
return view('Student.department',compact('students'));

Затем в вашем файле blade вы можете l oop следующим образом:

@foreach ($students as $student)  // note the name plural --> singluar
            <tr>
                <td>{{$student->department->name}}</td>  // Now you have a single student
                <td>{{$student->department->message}}</td>

Это разрешит не объектную ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...