当我尝试分离数据时调用成员函数(laravel)

我收到类似 Error Call to a member function kelas() on null 的错误,我应该在代码中更改什么


类别资本


public function kelas()

{

    return $this->belongsToMany('App\Kelas'::class);

阶级资本


public function kategori()

{

    return $this->belongsToMany('App\Kategori'::class);

}

控制器


public function removeKategori(Request $request)

{

    $kelasId = $request->get('kelas_id');

    $kategoriId = $request->get('kategori_id');

    $kategori = Kategori::find($kategoriId);

    

    $kategori->kelas()->detach($kelasId);

    dd($kategori);

}


侃侃尔雅
浏览 125回答 2
2回答

四季花海

你必须像这样使用public function kelas(){    return $this->belongsToMany('App\Kelas','foreign_key','local_key');}或者public function kelas(){    return $this->belongsToMany(Kelas::class,'foreign_key','local_key');}

守着一只汪

您应该删除关系方法中类引用周围的引号。public function kelas(){    return $this->belongsToMany(App\Kelas::class);} 希望这能让你们的关系正常运转。您可以通过启动修补程序会话(php artisantinker)、加载类别并与其关系进行交互来测试它们。$k = Kategori::first();dump($k->kelas);dump($k->kelas());ETC
打开App,查看更多内容
随时随地看视频慕课网APP