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
所属的laravel关系和方法_Laravel_Eloquent - Fatal编程技术网

所属的laravel关系和方法

所属的laravel关系和方法,laravel,eloquent,Laravel,Eloquent,我的关系有问题。我在控制器中使用带()的方法,在模型中使用belongsTo。我的关系是正常的,但如果我得到了父数据,这就解决了问题 我的车型 public function pekerjaan() { return $this->belongsTo('App\Pekerjaan', 'pekerjaan', 'id'); } 这是我的控制器 $data = Anggota::with('pekerjaan')->where('nik',$nik)->first()

我的关系有问题。我在控制器中使用带()的方法,在模型中使用belongsTo。我的关系是正常的,但如果我得到了父数据,这就解决了问题

我的车型

public function pekerjaan()
{
    return $this->belongsTo('App\Pekerjaan', 'pekerjaan', 'id');
}
这是我的控制器

 $data = Anggota::with('pekerjaan')->where('nik',$nik)->first();
 return $data;
我想在我的关系“pekerjaan”中获得“nama_pekerjaan”列。

如果我使用
返回$data->pekerjaan->nama_pekerjaan
显示错误

您有一个名为
pekerjaan
的列和一个名为
pekerjaan
的关系。Laravel更重视列名而不是关系。因此,您可以使用属性
pekerjaan
获取列值(id of
pekerjaan
)。请为您的关系指定另一个名称以修复此别名问题

在你的模型中

function pekerjaan_parent(){
   return $this->belongsTo('App\Pekerjaan', 'pekerjaan', 'id');
}
在你的功能

return $data->pekerjaan_parent->nama_pekerjaan;

我是多么粗心,非常感谢@Ramesh Kithsiri Hettiarachchian和laravel更喜欢用“骆驼箱”作为关系名称。使用
pekerjaanParent()
或一些非常感谢@Tharaka Dilshan的东西