SQLSTATE [23000]: нарушение ограничения целостности: 1048 Заголовок столбца не может быть пустым - Laravel - PullRequest
0 голосов
/ 23 апреля 2020

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

-[views]
--[blogs]
---index.blade.php
---create.blade.php
---show.blade.php

На:

-[views]
--index.blade.php
--create.blade.php
--[admin]
---show.blade.php

Это мой файл маршрутов:

Route::get('/', 'Blogs@index')->name('blogs_path');
Route::get('/admin/create', 'Blogs@create')->name('create_blogs_path');
Route::get('/', 'Blogs@store')->name('store_blogs_path');
Route::get('/{id}', 'Blogs@show')->name('blog_path');

Вот мой файл контроллера блога:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Blog;

class Blogs extends Controller
{
    //

    public function index(){

        $blogs = Blog::all();

        return view('index', ['blogs' => $blogs]);
    }

    public function show($id){

        $blog = Blog::find($id);

        return view('show', ['blog' => $blog]);
    }

    public function create(){

        return view('admin.create');
    }

    public function store(Request $request){

        $blog = new Blog;

        $blog->title = $request->title;
        $blog->content = $request->content;
        $blog->created_at = $request->created_at;

        $blog->save();

        return redirect()->route('blogs_path');
    }
}

Он работал совершенно нормально в старой файловой структуре, но как только я вернул его на один уровень назад все сломалось. Вот ошибка, которую я получаю:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'title' cannot be null (SQL: insert into 'blogs' ('title', 'content', 'created_at', 'updated_at') values (?, ?, ?, 2020-04-23 20:10:20))

Тем не менее, у меня есть данные в таблице, и раньше они работали отлично.

Спасибо.

1 Ответ

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

Маршрут / повторяется дважды:

Route::get('/', 'Blogs@index')->name('blogs_path');
...
Route::get('/', 'Blogs@store')->name('store_blogs_path');
...

Исправление, которое должно работать.

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