首页 > 解决方案 > 未定义属性:Illuminate\Database\Eloquent\Relations\BelongsTo::$center_name

问题描述

嗨,以下是我的关系

学校列表.php

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

申请.php

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

我的刀片

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

我得到这个错误。

未定义属性:Illuminate\Database\Eloquent\Relations\BelongsTo::$center_name

标签: phplaravel

解决方案


$requisition->schools() 它是 的实例Illuminate\Database\Eloquent\Relations\BelongsTo,但 $requisition->schools 是 的实例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);
}

推荐阅读