Неопределенное свойство: Illuminate \ Database \ Eloquent \ Relations \ BelongsTo :: $ center_name - PullRequest
0 голосов
/ 13 июня 2018

Здравствуйте, мои отношения

SchoolsList.php

public function requisitions()
{
    return $this->hasMany(Requisition::class);
}

Requisition.php

public function schools()
{
    return $this->belongsTo(SchoolsList::class);
}

Мой клинок

<td>{{ dd($requisition->schools()->center_name) }}</td>

IПолучите эту ошибку.

Неопределенное свойство: Illuminate \ Database \ Eloquent \ Relations \ BelongsTo :: $ center_name

Ответы [ 3 ]

0 голосов
/ 13 июня 2018

$ реквизиро-> школы () это экземпляр Illuminate\Database\Eloquent\Relations\BelongsTo, а $ реквизи-> школы - экземпляр Illuminate\Database\Eloquent\Collection.

@if ($requisition->schools) // or $requisition->school
   <td>{{ $requisition->schools->center_name }}</td>
   // or <td>{{ $requisition->school->center_name }}</td> // corrected relation
@endif

Один совет, если ваше отношение принадлежит. Использовать single имя отношения

public function school()
{
    return $this->belongsTo(SchoolsList::class);
}
0 голосов
/ 17 апреля 2019

Вам просто нужно сделать это:

$ Requisition- >hools () -> first () -> center_name

Это даст вам center_name ofшкола, к которой относится заявка.

0 голосов
/ 13 июня 2018

попробуйте это:
<td>{{ dd($requisition->schools->center_name) }}</td>

если вы получите эту ошибку: Trying to get property of non-object проблема в вашем отношении, проверьте имя столбца базы данных, имя столбца базы данных должно:

для schools table: здесь вы должны иметь requisition_id в таблице requisitions.
, чтобы проверить здесь соглашение о соотношении между уровнями словарей

https://laravel.com/docs/5.6/eloquent-relationships#one-to-many

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