Laravel: отобразить выбранное изображение из базы данных на странице edit.blade.page - PullRequest
0 голосов
/ 10 октября 2018

Как показать выбранное изображение из базы данных для отображения на моей странице edit.blade, когда я хочу отредактировать / изменить изображение с помощью тега ввода.Вот контроллер

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{

    $this->validate($request, [
        'photo'=> 'required | image|mimes:jpeg,png,jpg,gif,svg|max:700',
    ]);

    if ($request->hasFile('photo')) {
    $photoThings = $request->photo->store('public');
    }

    $hod = new HeadOfDepartments;
    $hod ->first_name = $request ->first_name;
    $hod ->middle_name = $request ->middle_name;
    $hod ->last_name = $request ->last_name;        
    $hod ->gender = $request->gender;
    $hod ->gender = $request->gender;
    $hod ->status= $request->status;
    $hod ->dob= $request->dob;
    $hod->departments= $request->departments;
    $hod->mobile_phone= $request->mobile_phone;
    $hod->email= $request->email;
    $hod->notes= $request->notes;
    $hod->address= $request->address;
    $hod->photo= $photoThings;        
    $hod->save();

    return redirect (route('headofdepartment.index'));

}

/**
 * Display the specified resource.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function show($id)
{
    //
}

/**
 * Show the form for editing the specified resource.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function edit($id)
{
    $hod = HeadOfDepartments::where('id', $id)->get();
    return view ('headofdepartment.edit', compact ('hod'));

}

/**
 * Update the specified resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function update(Request $request, $id)
{
    $this->validate($request, [
        'photo'=> 'required | image|mimes:jpeg,png,jpg,gif,svg|max:700',
    ]);

    if ($request->hasFile('photo')) {
    $photoThings = $request->photo->store('public');
    if (File::exists($photoThings)){
        unlink($photoThings);
    }
    $photoThings = $request->hasFile('photo');
    $name = time() . '-' .$photoThings->getClientOriginalName();
    $photoThings = $photoThings->move(('public'), $name);


    }

    $hod = HeadOfDepartments::find($id);
    $hod ->first_name = $request ->first_name;
    $hod ->middle_name = $request ->middle_name;
    $hod ->last_name = $request ->last_name;        
    $hod ->gender = $request->gender;
    $hod ->status= $request->status;
    $hod ->marital_status= $request->marital_status;
    $hod ->dob= $request->dob;
    $hod->departments= $request->departments;
    $hod->mobile_phone= $request->mobile_phone;
    $hod->email= $request->email;
    $hod->notes= $request->notes;
    $hod->address= $request->address;
    $hod->photo= $photoThings;        
    $hod->save();

    return redirect (route('headofdepartment.index'));
}

/**
 * Remove the specified resource from storage.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function destroy($id)
{
    //
}

} А вот файл edit.blade

       @foreach ($hod  as $hods)

      <div class="widget-content nopadding">
        <form class="form-horizontal" method="POST" action="{{ route 
       ('headofdepartment.update', $hods->id) }}" id="basic_validate" 
      novalidate="novalidate" enctype="multipart/form-data">
          {{ csrf_field() }}
          {{method_field('PUT')}}
    <div class="control-group">
                  <label class="control-label">Photo</label>
                  <div class="controls">
                    <input type="file"  name="photo"  value="{{ $hods->photo }}">
                        @if ($errors->has('photo'))
                                <p class="alert alert-danger">{{ $errors->first('photo') }}

                    @endif
                    <a class="fancybox" rel="group"
                         href="{{ asset ('storage/app/'.$hods->photo) }}"> 
                         <img src="{{ asset ('storage/app/'.$hods->photo) }}" width="100"/></a>
                  </div>
                </div>
       @endforeach

Я хочу, чтобы тег ввода показывал предыдущее выбранное изображение уже в БД, в данный момент входтег показывает, что файл не выбран.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...