Для этой строки вашего кода, пожалуйста, измените следующим образом:
С:
<img src="{{ $post->image_thumb_url ? $post->image_thumb_url : 'http://placehold.it/200x150&text=no+image' }}" alt="...">
Кому:
<img src="{{ $post->imageThumb ?? 'http://placehold.it/200x150&text=no+image' }}" alt="...">
Затем добавьте следующую функцию в ваше сообщение модель:
public function imageThumb(){
if($this->image_thumb_url){
if(File::exists(public_path() . '/imgberita/'.$this->image_thumb_url)){
return public_path() . '/imgberita/'.$this->image_thumb_url;
}
}
return null;
}
Затем используйте функцию в вашем представлении следующим образом: если это изображение существует, оно вернет местоположение, если не существует, то вернет ноль.
$post->imageThumb
Если вы получите Проблема с этой функцией, просто обновите public_path() . '/imgberita/'
внутри функции, надеюсь, что вы поняли.
Для textare
вы можете использовать функцию old()
в своем представлении:
<textarea rows="5" cols="5" class="form-control" name="body" value="{{$post->body}}"></textarea>
Например, вот так:
<textarea rows="5" cols="5" class="form-control" name="body" value="{{old('body') ?? ''}}"></textarea>
Но помните, что мы используем функцию old('body')
, когда используем validate()
, и передаем данные из контроллера, используя ->withInput()
, например:
return redirect()
->back()
->withInput()
->withErrors($validator);
Также вы можете напрямую передавать данные в edit.blade.php
с помощью функции with($request)
.
Если ваше тело пустое, вы получите ошибку, тогда используйте {{$post->body ?? ''}}
.