雄辩的Laravel显示试图获取非对象的属性“代码”

我有如下创建的2个模型:

Employee.PHP

<?PHP
namespace App;
use Illuminate\Database\Eloquent\Model;

class Employee extends Model
{
    public function grades(){
        return $this->belongsTo(Grade::class);
    }
}

并且

Grade.PHP

<?PHP

namespace App;
use Illuminate\Database\Eloquent\Model;

class Grade extends Model
{
    public function employee(){
        return $this->hasMany(Employee::class);
    }
}

当我尝试在修补程序中显示等级的代码名称时,如下所示

$a=App\Employee::find(15);<br>
$a->grades->code

它给我错误

PHP Notice: Trying to get property ‘code’ of non-object in Psy Shell code on line 1*

表员工:

employees

表等级:

grades

解决方法:

将Employee模型中的grades()方法更改为grade().

Eloquent使用方法名称来确定要用于该关系的数据库列.如果您将列名称更改为grades_id,或者您可以选择在关系上定义列,例如:

public function grades() 
{
    return $this->belongsTo(Grade::class, 'grade_id');
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...