Я запрашиваю список сотрудников из таблицы 'itemregistration' с красноречивой связью с таблицей 'section'.Но я не могу отобразить информацию из таблицы разделов на блэйд вида.
Мой контроллер получает запрос следующим образом:
$itemregistrations = Itemregistration::with('section')->get();
Когда я проверяю массив с помощью:
dd($itemregistrations->toArray());
Я получаю этот результат:
0 => array:133 [▼
"ItemRegistrationID" => 1
"RegistrationDate" => "2005-12-01"
"SectionID" => 12
"name" => "A SANTESH"
"section" => array:2 [ …2]
]
Массив раздела должен содержать поля 'SectionID' и 'sectionname'.
Если я проверю с помощью dd ($ itemregistration);
он производит
Collection {#1948 ▼
#items: array:1125 [▼
0 => Itemregistration {#1990 ▼
#primaryKey: "ItemRegistrationID"
#hidden: array:1 [ …1]
+timestamps: false
#connection: "mysql"
#table: null
#keyType: "int"
+incrementing: true
#with: []
#withCount: []
#perPage: 15
+exists: true
+wasRecentlyCreated: false
#attributes: array:133 [ …133]
#original: array:133 [ …133]
#changes: []
#casts: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: array:1 [ …1]
#touches: []
#visible: []
#fillable: []
#guarded: array:1 [ …1]
Я хочу отобразить результат в блейде, но не смог получить значение массива раздела:
@foreach($itemregistrations as $index => $value)
<td>{{ $value->name }}</td>
<td>{{ $value->section->sectionname }}</td>
@endforeach
Я также попытался:
@foreach($itemregistrations as $index => $value)
<td>{{ $value->name }}</td>
@foreach($value as $section => $val)
<td>{{ $val->sectionname }}</td>
@endforeach
@endforeach
Но тоже не удалось.Появляется ошибка «Попытка получить свойство необъекта».
Я пытался просмотреть значения, содержащиеся в коллекции, через этот код:
@foreach ($itemregistrations as $item)
<tr>
<td>{{ $item }}</td>
<td>{{ $item->section }}</td>
</tr>
@endforeach
И это значение отображается вэтот формат:
{"ItemRegistrationID":1,"name":"A Santesh"{"SectionID":12,"sectionname":"E"}}
Если я покажу результат с этим: @foreach ($ itemregistrations as $ item) {{$ item-> name}}
@endforeach
Iможет получить список имен, но для получения имени раздела с этим
@foreach ($itemregistrations as $item)
<tr>
<td>{{ $item->section->sectionname }}</td>
</tr>
@endforeach
Отображается ошибка «Попытка получить свойство необъекта».Я не понимаю, почему я не могу получить значения раздела.
Моя модель раздела:
class Section extends Authenticatable
{
protected $table = 'sections';
protected $primaryKey = 'SectionID';
/**
* Get the user that have agama.
*/
public function itemregistrations()
{
return $this->hasMany('App\Itemregistration', 'SectionID', 'ItemregistrationID');
}
}
Модель регистрации элементов:
class Itemregistration extends Model
{
protected $primaryKey = 'ItemRegistrationID';
/*
* Get all of the owning models.
*/
public function section()
{
return $this->belongsTo('App\Section', 'SectionID');
}
Как получить отображение запроса со значениями массива раздела?