【问题标题】:How to use attach method in laravel 8?如何在 laravel 8 中使用附加方法?
【发布时间】:2021-08-09 09:47:08
【问题描述】:

我正在将一些文件附加到 laravel 8 中的一个类别,但它不起作用,错误是:

BadMethodCallException 方法 Illuminate\Database\Eloquent\Collection::attach 不存在。

我已经尝试如下。

控制器:-

public function updateSyncFiles(Request $request, $package_id) {
    $package_item = Package::find($package_id);
    $files = $request->input('files');

    if($package_item && is_array($files) && count($files)>0) {
        $package_item->files->attach($files);
    }
}

型号:-

public function  files() {
    return $this->belongsToMany(File::class, 'package_file','package_id', 'file_id');
}

【问题讨论】:

  • 尝试使用$package_item->files()->attach($files);你忘了()

标签: laravel laravel-8


【解决方案1】:

$package_item->files->attach($files); 更改为$package_item->files()->attach($files);。当您键入不带括号的文件时,它不会返回该类的实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 2021-12-24
    • 2020-05-11
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 2022-01-19
    • 2016-10-13
    相关资源
    最近更新 更多