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

Php 尝试分离数据时调用成员函数(laravel),php,laravel,Php,Laravel,我犯了这样的错误 错误 在null上调用成员函数kelas(),我应该在代码中更改什么 莫代尔卡泰戈里酒店 public function kelas() { return $this->belongsToMany('App\Kelas'::class); } 莫代尔海带 public function kategori() { return $this->belongsToMany('App\Kategori'::class); } 控制器 public fu

我犯了这样的错误 错误 在null上调用成员函数kelas(),我应该在代码中更改什么

莫代尔卡泰戈里酒店

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);
}

您应该删除关系方法中类引用周围的引号

public function kelas()
{
    return $this->belongsToMany(App\Kelas::class);
} 
希望这能让你们的关系正常运转。您可以通过启动tinker会话(php artisan tinker)、加载kategori并与它的关系交互来测试它们

$k = Kategori::first();
dump($k->kelas);
dump($k->kelas());

etc

你必须这样使用

public function kelas(){
    return $this->belongsToMany('App\Kelas','foreign_key','local_key');
}

public function kelas(){
    return $this->belongsToMany(Kelas::class,'foreign_key','local_key');
}