Laravel sql ошибка таблицы при попытке загрузить - PullRequest
0 голосов
/ 05 апреля 2020

Это ошибка, которую я получаю

SQLSTATE [HY000]: общая ошибка: в 1 сообщении таблицы нет столбца с именем caption (SQL: вставить в «posts» («caption», «image», Значения "user_id", "updated_at", "creation_at") (подпись,

Почему этот

код почтовой таблицы

Schema::create('posts', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->unsignedBigInteger('user_id');
        $table->string('caption');
        $table->string('image');
        $table->timestamps();

        $table->index('user_id');

blade. php code

<input id="caption" 
                                type="text" 
                                class="form-control @error('caption') is-invalid @enderror" 
                                name="caption"
                                value="{{ old('caption') }}" 
                                autocomplete="caption" autofocus>

и у меня есть мой PostsController. php as

public function store()
    {
        $data = request()->validate([
            'caption' => 'required',
            'image' => ['required', 'image'],
        ]);

        auth()->user()->posts()->create($data);    


        dd(request()->all());
    }

Почему возникает ошибка?

1 Ответ

0 голосов
/ 05 апреля 2020

Поскольку вы пытаетесь сохранить данные в таблице записей, вы можете сделать следующее:

$data = request()->validate([
    'caption' => 'required',
    'image' => ['required', 'image']        
]);

$data['user_id'] = Auth::id();

$post = Post::create($data);

Кроме того, вам необходимо импортировать модель записей, чтобы вставить данные в таблицу записей, как показано ниже:

namespace App\Http\Controllers;

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