Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 雄辩的拉威尔秀试图获得财产';代码';非对象_Php_Laravel_Eloquent - Fatal编程技术网

Php 雄辩的拉威尔秀试图获得财产';代码';非对象

Php 雄辩的拉威尔秀试图获得财产';代码';非对象,php,laravel,eloquent,Php,Laravel,Eloquent,我创建了两个模型,如下所示: Employee.php <?php namespace App; use Illuminate\Database\Eloquent\Model; class Employee extends Model { public function grades(){ return $this->belongsTo(Grade::class); } } <?php namespace App; use Illumina

我创建了两个模型,如下所示:

Employee.php

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

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

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

class Grade extends Model
{
    public function employee(){
        return $this->hasMany(Employee::class);
    }
}
当我试图在tinker中显示等级代码和名称时,如下图所示

$a=App\Employee::find(15);<br>
$a->grades->code
$a=App\Employee::find(15)
$a->等级->代码
这给了我一个错误:

PHP注意:试图在第1行的Psy Shell代码中获取非对象的属性“code”*

员工表

表格等级


请使用添加
并尝试:

$a = App\Employee::with('grades')->find(15);
Employee
模型中的
grade()
方法更改为
grade()

Eloquent使用方法名来确定用于关系的数据库列。如果您将列名更改为
grades\u id
,或者您可以选择在关系上定义如下列,那么它也会起作用:

公共职能等级()
{
返回$this->belongsTo(Grade::class,“Grade_id”);
}

你能提供正在使用的迁移吗?我用我的表格编辑我的问题,我有
App\Employee{2950id:15,代码:“19610202”,名字:“Adzull”,等级id:11,职位:“a职位”,创建地点:null,更新地点:null,等级:null,}
哇,我不知道它有效,是关于复数的吗?你能解释一下吗?@Goon复数方法名(即
等级
)是for,有很多关系。单数方法名称(即,
等级
)用于只需要一个结果的关系。