データベースからファイルを削除したいと思います。 これをforeachループで実行しようとしています。 単一ファイルの削除は問題ありませんが、ユーザーが複数のファイルを送信すると(チェックボックスで) 私のループは最初だけ削除します。あなたが見ることができるようにLaravel、foreachで複数のファイルを削除しています
public function postSil(Request $request)
{
$ids = $request->input('sil');
foreach($ids as $id)
{
$file = File::find($id)->first();
$path = public_path().'/rea-files/'.$file->rea_number.'/'.$file->file_name;
\File::delete($path);
// echo 'id';
}
//return 1;
File::destroy($ids); //this is model file.
return redirect()->back();
}
、私は、foreachループが同様に動作するかどうか、試してみましたエコーを配置し、戻り、私はforeachループが動作だけで最初のファイルを削除している参照してください。
ファイルへのパスがforeachループのすべての反復で正しいことを確認しましたか? –
以下のようにいくつかのチェックを行います。if(!\ File :: exists($ path)){dd($ path); } '指定されたパスにファイルがない場合、パスを出力します –