laravel - 如何在 laravel 8 中使用附加方法?
问题描述
我将一些文件附加到 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);
为$package_item->files()->attach($files);
。当您键入不带括号的文件时,它不会返回该类的实例。
推荐阅读
- python-xarray - Parallel appending to a zarr store via xarray.to_zarr and Dask
- django - Django message box while view is running
- python - What is the difference between the Pycharm Virtual Environment and the Existing Intrepreter
- typescript - Deploy an Express API written with TypeScript to Azure App Service
- c# - Individual user settings in ASP.Net Core 3.1
- c++ - 我必须找到给定数组中所有数字的周期,就像有很多解决方案但数组的大小是 10^5
- angular - angular using library module in library
- javascript - iOS Safari sharing image URL as string instead of image
- android - 无法连接到“${ip}:${port}”:连接被随机拒绝
- google-chrome - 这个 ERR_TOO_MANY_REDIRECTS 加载错误是什么?