Пустая таблица базы данных laravel 8

#php #laravel #laravel-8

#php #laravel #laravel-8

Вопрос:

Я не знаю, почему я получаю пустую таблицу. В прошлом это работало для меня, но почему я получаю это сейчас? Что я делаю не так?

Контроллер: AdminServiceController

 public function create()
{
    return view("admin.service.create");
}

public function store(Request $request)
{
    $date = $this->vvalidate($request);
    $data['creator'] = auth()->user()->id;
    Services::create($data);
}

private function vvalidate($request)
{
    $rules = [
        'title' => 'required|unique:services',
        'description' => 'required|min:100',
    ];
    
    return $this->validate($request, $rules);
}
  

Модель: Services.php

 class Services extends Model
{
    use HasFactory;
    
    protected $guarded = [];
}
  

Маршруты: web.php

 Route::prefix('admin')->group(function () {
    Route::name('admin.')->group(function () {
        Route::middleware('auth')->group(function () {
            Route::get('/', function () {
                return view('admin');
            });
            Route::resource('service', 'AppHttpControllersAdminServiceController');
        });
    });
});
  

Комментарии:

1. вы получаете сообщение об ошибке?

2. У меня есть решение. Написал $date вместо $data. Я чувствую себя тупицей, ха-ха

3. protected $guarded = []; yolo правильно….

4. Также в store методе vvalidate вместо validate

Ответ №1:

AdminServiceController

   public function store(Request $request)
  { 
    Services::create($this->vvalidate($request));
  }

  private function vvalidate($request)
  {
    $data = $request->validate([
        'title' => 'required|unique:services',
        'description' => 'required|min:100',
    ]);
    $data['creator'] = auth()->user()->id;
    return $data;
  }
  

Services.php

  protected $fillable = [
   'title', 'description'
];