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,有很多关系。单数方法名称(即,等级
)用于只需要一个结果的关系。