Фотографии не загружаются с использованием laravel 5.7

Раньше я использовал Laravel 5.6, мои фотографии загружались отлично, а теперь, когда я обновился до 5.7, теперь они не работают, и я в растерянности. Будут загружены сообщения, а не фотографии. Я все перепроверил, перепроверил взаимосвязи и маршруты, но безрезультатно. Любая помощь будет оценена по достоинству.

home.blade.php:

<form method = "POST" action = "{{ route('makePost') }}">
                            @csrf

                            <div class = "form-group row">
                                <label for = "body" class = "col-md-4 col-form-label text-md-right">{{ __('Body') }}</label>

                                <div class = "col-lg-6">
                                    <textarea id = "body" type = "text" class = "form-control{{ $errors->has('body') ? ' is-invalid' : '' }}" name = "body" value = "{{ old('body') }}" required autofocus></textarea>

                                    @if ($errors->has('body'))
                                        <span class = "invalid-feedback" role = "alert">
                                        <strong>{{ $errors->first('body') }}</strong>
                                    </span>
                                    @endif
                                </div>
                            </div>

                            <div class = "col-md-6">
                                <input id = "image" type = "file" class = "form-control{{ $errors->has('image') ? ' is-invalid' : '' }}" name = "image" value = "{{ old('image') }}" autofocus>

                                @if ($errors->has('image'))
                                    <span class = "invalid-feedback" role = "alert">
                                        <strong>{{ $errors->first('image') }}</strong>
                                    </span>
                                @endif
                            </div>

                            <div class = "form-group row mb-0">
                                <div class = "col-md-6 offset-md-4">
                                    <button type = "submit" class = "btn btn-primary">
                                        {{ __('Create Post') }}
                                    </button>
                                </div>
                            </div>
                        </form>

PostsController.php:

public function store(Request $request)
{
    $input = $request->all();

    $user = Auth::user();

    if ($file = $request->file('photo_id')) {
        $name = time() . $file->getClientOriginalName();
        $file->move('images', $name);
        $photo = Photo::create(['file'=>$name]);
        $input['photo_id'] = $photo->id;
    }

    $user->post()->create($input);
    return redirect('/home');
}

Photo.php:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Photo extends Model
{

    protected $fillable = [
        'file',
    ];

    public function user() {
        return $this->belongsTo('App\User');
    }

    public function photo() {
        return $this->belongsTo('App\Photo');
    }
}

Post.php:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $fillable = [
        'body', 'photo_id', 'user_id',
    ];

    public function post()
    {
        return $this->belongsTo('App\User');
    }
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
403
1

Ответы 1

Добавьте enctype = "multipart/form-data" в тег <form>. Это значение требуется, если вы используете формы, в которых есть элемент управления загрузкой файлов.

<form method = "POST" action = "{{ route('makePost') }}" enctype = "multipart/form-data">
    //
</form>

Источник: Атрибут enctype HTML

Я добавил enctype, не могу поверить, что забыл об этом, но теперь я получаю сообщение об ошибке: Общая ошибка: 1364 Поле photo_id не имеет значения по умолчанию (SQL: вставить в значения posts (body, user_id, updated_at, created_at) (asdfasdf, 1, 2018-09-23 18:14:05, 2018-09-23 18:14:05))

adam603 23.09.2018 20:13

Другие вопросы по теме