Ошибка значения по умолчанию SQL при загрузке файлов с использованием laravel - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь загрузить несколько изображений, используя laravel, и до сих пор у меня получилось, но проблема в том, что когда я пытаюсь сохранить текст И файлов, я получаю сообщение об ошибке. До сих пор я получил так много ошибок, что не могу вспомнить все это, но самое последнее:

SQLSTATE [HY000]: общая ошибка: 1364 Поле 'title' не имеет значения по умолчанию (SQL: вставить в posts (image, updated_at, created_at) значения (["italian. jpg "], 2019-05-23 18:48:22, 2019-05-23 18:48:22))

Я правильно установил sql, и, как я уже сказал, если я удаляю загрузку изображения, он работает, и если я удаляю текстовые поля, это также работает, но , если я пробую оба, я не . если я правильно помню, когда я удаляю обязательные поля, это также работает.

магазин публичных функций (Request $ request) { // дд ($ запроса);

    $this->validate($request, [
        'title' => 'required|min:3|max:120',
        'text' => 'required',
        'image' => 'required',
        'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'
    ]);

    if($request->hasfile('image')){
        foreach($request->file('image') as $image)
        {
            $name=$image->getClientOriginalName();
            $image->move(public_path().'/images/', $name);  
            $data[] = $name;  
        }
    } else{
        redirect('/posts')->with('Error', 'no image');
    }

    $post->image=json_encode($data);

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

    return redirect('/posts')->with('success', 'yay');

}

Я тоже пробовал это, но он возвращает

Создание объекта по умолчанию из пустого значения

public function store(Request $request)
{
     $validatedData = $request->validate([
        'title' => 'required|min:3|max:120',
        'category' => 'required|min:3|max:120',
        'text' => 'required',
        'image' => 'required',
        'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);


    if($request->hasfile('image'))
     {

        foreach($request->file('image') as $image)
        {
            $name=$image->getClientOriginalName();
            $image->move(public_path().'/images/', $name);  
            $data[] = $name;  
        }
     }

     $post = new Post();
     $post->image=json_encode($data);


    $post->save();

    return back()->with('success', 'Yay');



}

1 Ответ

0 голосов
/ 27 мая 2019

Я понял это, хе-хе. просто пришлось убрать эти строки:

'image' => 'required', 'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'

Спасибо в любом случае.

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