[英]Array to string conversion ErrorException while uploading image in laravel 7
我使用 3 arrays 存储在表课程中。 请帮助我将数组保存在字符串中或将数组保存在数据库中......我的数组问题:
我无法在数据库中存储和保存图像
我无法在数据库中保存数组结果和要求
<div class="col-md-10"><input type="file" class="form-control" name="images" id="images" ></div>
//and this
<input type="text" class="form-control" name="outcomes[]" id="outcomes">
//or this
<input type="text" class="form-control" name="requirements[]" id="requirements">
我的商店 function 致电:
public function store(CourseRequest $request)
{
$imageUrl = $this->upload2Images($request->file('images'));
auth()->user()->course()->create(
$request->except(['_token','files']),
['images'=>$imageUrl]);
return redirect(route('courses.index'));
}
和upload2Images()
是
public function upload2Images($file)
{
$year = Carbon::now()->year;
$month = Carbon::now()->month;
$imagePath = "upload/images/{$year}/{$month}/";
$filename = $file->getClientOriginalName();
$file = $file->move(public_path($imagePath), $filename);
$url['images'] = "upload/images/{$year}/{$month}/$filename";
return $url;
}
当我使用
$data = array_merge(
$request->except(['_token','files','outcomes','requirements']),
$images
);
$id = auth()->user()->course()->create($data)->id;
它工作正常,但结果和要求是我以这种方式隐藏的数组。 我可以通过这个 arguments 吗?
你在打电话:
$url['images'] = "upload/images/{$year}/{$month}/$filename";
return $url;
然后:
$imageUrl = $this->upload2Images($request->file('images'));
所以$imageUrl
是一个数组。 但是保存记录的代码期望它是一个字符串。
`...->create( $request->except(['_token','files']),['images'=>$imageUrl]);`
此外,当它只需要一个时,您似乎传递了 2 个参数来create
也许你的意思是调用类似下面的东西?
$images = $this->upload2Images($request->file('images'));
$data = array_merge($request->except(['_token','files']), $images);
auth()->user()->course()->create($data);
解决了,谢谢我在 model 中使用
protected $casts = [
'images' => 'array',
'requirements' => 'array',
'outcomes' => 'array',
];
和 controller 使用这个
$images = $this->upload2Images($request->file('images'));
$requirements = $request->requirements;
$outcomes = $request->outcomes;
$data = array_merge($request->except(['_token']), ['images'=>$images],['requirements'=>$requirements],['outcomes'=>$outcomes]);
$id = auth()->user()->course()->create($data)->id;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.