Прерывание метода после вызова функции в том же контроллере
Я сделал метод, который обрабатывает изображение. Проблема в том, что я хочу вызывать этот метод в моем методе редактирования несколько раз, потому что есть 3 кнопки для загрузки изображения. Но после вызова моего метода для ИЗОБРАЖЕНИЯ метод РЕДАКТИРОВАНИЯ просто останавливается после первого изображения. Как я могу это остановить?
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 ответ
Решение
Вы должны просто удалить 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);
}