#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'
];