在同一控制器中调用函数后方法中断

时间:2018-08-29 07:51:01

标签: laravel laravel-controller

我做了一个处理图像的方法。问题是我想在我的 Edit 方法中多次调用该方法,因为有3个用于上传图像的按钮。但是在调用我的 IMAGE 方法后, EDIT 方法只是在第一个图像之后停止。我该如何阻止?

if($request->has('picture1')) {
    return $this->upload_image($company, $asset, $request->picture1);
}
if($request->has('picture2')) {
    return $this->upload_image($company, $asset, $request->picture2);
}
if($request->has('picture3')) {
    return $this->upload_image($company, $asset, $request->picture2);
}

这是我上传图片的功能

public function upload_image($company, $asset, $image) 
    {
        $filename = uniqid(rand());
        $image = str_replace('data:image/png;base64,', '', $image);
        $image = str_replace(' ', '+', $image);
        if (!file_exists(public_path('/uploads/assets/pictures/' . $company->id . '/'))) {
            File::makeDirectory(public_path('/uploads/assets/pictures/' . $company->id . '/'), 0777, true);
        }
        Image::make($image)->resize(1024, null, function ($constraint) { $constraint->aspectRatio();})
            ->save( public_path('/uploads/assets/pictures/' . $company->id . '/'. $filename ) );
    }

处理完第一张图像后如何返回我的功能?

1 个答案:

答案 0 :(得分:0)

您必须像这样简单地删除return关键字:

if($request->has('picture1')) {
    $this->upload_image($company, $asset, $request->picture1);
}
if($request->has('picture2')) {
    $this->upload_image($company, $asset, $request->picture2);
}
if($request->has('picture3')) {
    $this->upload_image($company, $asset, $request->picture2);
}