Laravel 5.2 Как обновить файл в laravel 5 - PullRequest
0 голосов
/ 08 мая 2018

Я хочу обновить документ, который был в предыдущей базе данных, используя приведенный ниже исходный код

public function update(Request $request, $id)
{
    $this->validate($request, [
       'name' => 'required',
    ]);

    $document = Document::find($id);
    $data = $request->all();
    // $document->update($data);

    if ($request->hasFile('document')) {
        $exist = Storage::disk('document')->exists($document->document);
        if (isset($document->document) && $exist) {
            $delete = Storage::disk('document')->delete($document->document);
        }

        $document = $request->file('document');
        $ext = $document->getClientOriginalExtension();

        if ($request->file('document') && $request->file('document')->isValid()) {
            $documentName = date('YmdHis') . ".$ext";
            $path = 'docs';
            $request->file('document')->move($path, $documentName);
            $data['document'] = $documentName;
        }
    }
    // $document->update($request->all());
    $document->update($data);

    Session::flash('flash_notification', 'Success updated.');
    return redirect('documents');
}

Но почему при выполнении код не работает должным образом. результирующего вывода генерирует ошибку вроде этого «BadMethodCallException в строке Macroable.php 74: Метод обновления не существует. «Что плохого в написании моего кода выше? Спасибо за помощь в ответе

1 Ответ

0 голосов
/ 09 мая 2018

Вы перезаписали переменную $document в своем коде. попробуйте этот код:

public function update(Request $request, $id)
{
    $this->validate($request, [
       'name' => 'required',
    ]);

    $data = $request->all();

    if ($request->hasFile('document')) {
        $exist = Storage::disk('document')->exists($document->document);
        if (isset($document->document) && $exist) {
            $delete = Storage::disk('document')->delete($document->document);
        }

        $document = $request->file('document');
        $ext = $document->getClientOriginalExtension();

        if ($request->file('document') && $request->file('document')->isValid()) {
            $documentName = date('YmdHis') . ".$ext";
            $path = 'docs';
            $request->file('document')->move($path, $documentName);
            $data['document'] = $documentName;
        }
    }

    $document = Document::find($id);
    $document->update($data);

    Session::flash('flash_notification', 'Success updated.');
    return redirect('documents');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...