изображения из базы данных laravel 5.6 - PullRequest
0 голосов
/ 23 мая 2018

это edit.blade.php

  {{ Form::model($post,['route'=>['posts.update',$post->id],'method'=>'PATCH']) }}
  <div class="row">
      <div class="col-sm-2">
        {!! form::label('title','Title') !!}
      </div>
      <div class="col-sm-10">
        <div class="form-group {{ $errors->has('title') ? 'has-error' : "" }}">
          {{ Form::text('title',NULL, ['class'=>'form-control', 'id'=>'title', 'placeholder'=>'Title Post...']) }}
          {{ $errors->first('title', '<p class="help-block">:message</p>') }}
        </div>
      </div>
    </div>
    <div class="row">
      <div class="col-sm-2">
        {!! form::label('descrption','Description') !!}
      </div>
      <div class="col-sm-10">
        <div class="form-group {{ $errors->has('descrption') ? 'has-error' : "" }}">
          {{ Form::text('descrption',NULL, ['class'=>'form-control', 'id'=>'descrption', 'placeholder'=>'Description Post...']) }}
          {{ $errors->first('descrption', '<p class="help-block">:message</p>') }}
        </div>
      </div>
    </div>
    <div class="col-xs-12 col-sm-12 col-md-12">
      <div class="form-group">
          <strong>Image:</strong>
         {!! Form::file('image',array('placeholder' => 'Image','class' => 'form-control','onchange' => 'document.getElementById("blah").src = window.URL.createObjectURL(this.files[0])')) !!}
      </div>
      <img id="blah" src="{{URL::to('/')}}/uploads/{{$post->image}}" alt="your image" width="150"/>
  </div>
  <div class="col-xs-12 col-sm-12 col-md-12 text-center">
          <button type="submit" class="btn btn-primary">Submit</button>
  </div>

  {{ Form::close() }}
</div>

@ endsection

это контроллер

class PostController extends Controller

{/ ** * Отображение списка ресурсов,* * @return \ Illuminate \ Http \ Response * / индекс публичной функции () {$ post = Post :: paginate (5);

    return view('admin.posts.index', compact('post');
}

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    return view('admin.posts.create');
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{  
    $this->validate($request, [
        'title' => 'required|string|max:255', 
        'descrption' => 'required',
        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);

        $image = $request->file('image');         
    $fileName = $image->getClientOriginalName();
    $fileExtension = $image->getClientOriginalExtension();
    // $imageName = date('dmY').'.'.$request->file('image')->getClientOriginalExtension();
    $request->file('image')->move(
    base_path() . '/public/uploads/', $fileName);
    $requestData = $request->all();
    $requestData['image'] = $fileName;
    Post::create($requestData);
        Post::create($request->all());
        return redirect()->route('posts.index')->with('succes', 'Post created succes');

}


public function show($id)
{

    return view('admin.posts.show');

}

/**
 * Show the form for editing the specified resource.
 *
 * @param  int  $id
 * @return \Illuminate\Http\Response
 */
public function edit($id)
{
   $post= Pots::find($id);

    return view('admin.posts.edit', compact('post'));
}
public function update(Request $request, $id)
{
    $this->validate($request, [
        'title' => 'required',

        'descrption' => 'required',
    ]);

    $image = $request->file('image ');         
    $fileName = $image ->getClientOriginalName();
    $fileExtension = $image ->getClientOriginalExtension();
    // $imageName = date('dmY').'.'.$request->file('image')->getClientOriginalExtension();
    $request->file('image ')->move(
    base_path() . '/public/uploads/', $fileName);
    $requestData = $request->all();
    $requestData['image '] = $fileName;
    Post::find($id)->update($requestData);


    Post::find($id)->update($request->all());
    return redirect()->route('posts.index')->with('succes', 'Post was updated');
}

public function destroy($id)
{
    Post::find($id)->delete();
    return redirect()->route('posts.index');
}

}

, когда я хочу редактироватьсообщение у меня есть эта ошибка: вызов функции-члена getClientOriginalName () на ноль, и я не знаю, почему ..

1 Ответ

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

https://laravelcollective.com/docs/master/html#opening-a-form

Если ваша форма будет принимать загрузки файлов, добавьте опцию файлов в ваш массив:

echo Form :: open (['url' => 'foo / bar', 'files' => true])

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