I have a database where images are stored in the table row like this:
name(string) "name" sometext(string) "some description" filesnames(string) image1.jpeg|image2.jpeg
image1 and image2 are stored in the “public/storage/image” folder
public function store(Request $request)
{
    $data = request()->validate([
        'name' => 'required',
        'sometext' => '',
        'testImages' => '',
        'testImages' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);
    $images = array();
    
    if($files = $request->file('testImages')){
        foreach($files as $file){
            $name = $file->getClientOriginalName();
            $file->move('image', $name);
            $images[] = $name;
        }
    }
    auth()->user()->tests()->create([
        'name' => $data['name'],
        'sometext' => $data['sometext'],
        'filenames' => implode("|", $images),
    ]);
}
public function show ($id)
{
    $tests = Tests::findorfail($id);  //get row data from table with ID
    return view('test.show-report', compact('tests'));  //return data to blade
}
In blade I am able to do a $tests->name and $tests->description to get data successfully.
I am unable to figure out how to display images from “filenames” blade.
Advertisement
Answer
You can do like so:
@foreach(explode('|',$tests->filenames) as $fileName)
    <img src="/storage/image/{{$fileName}}"/>
@endforeach