#laravel #routes #controller
Вопрос:
Я пытаюсь сохранить данные в БД mysql с помощью Laravel, но у меня эта ошибка:
МАРШРУТ [МАГАЗИН] НЕ ОПРЕДЕЛЕН.
Это моя модель: `
protected $table = 'devices';
protected $primaryKey = 'id';
protected $fillable = [
'username',
'mac_addr',
];
public static $rules = [
'username' => 'required|max:255',
'mac_address' => 'required|max:255'
];
Это мое хранилище функций в контроллере:
public function store(Request $request)
{
$input = new Device;
//On left field name in DB and on right field name in Form/view
$input->username = $request->username;
$input->mac_address = $request->mac_address;
$input->save();
return redirect()->route('store');
}
Это мой маршрут:
Route::post('store', [DeviceController::class, 'store'])->name('store');
и, наконец, моя форма:
@extends('backend.layouts.app')
@section('content')
<form action="{{ url('admin/store') }}" method="POST">
@csrf
<div class="form-group row">
<label class="col-sm-2 col-form-label">Username</label>
<div class="col-sm-10">
<input type="text" name="username" class="form-control" id="username">
</div>
</div>
<br>
<div class="form-group row">
<label class="col-sm-2 col-form-label">MAC ADDRESS</label>
<div class="col-sm-10">
<input type="text" name="mac_address" class="form-control" id="mac_address" placeholder="ex: 12:C4:65:8D:3A:00">
</div>
</div>
<br>
<button type="submit" class="btn btn-ghost-primary" id="register">Register</button>
<button type="reset" class="btn btn-ghost-primary" id="reset">Reset</button>
</form>
@endsection
Комментарии:
1. действие вашей формы таково :
action = "{{url ('admin/store')}}"
но я не вижу никакогоadmin/store
маршрута ?
Ответ №1:
Route::post('admin/store', [DeviceController::class, 'store'])->name('store');
Не так ли ?
Ответ №2:
Измените действие своей формы :
action = "{{url('admin/store')}}"
Автор: :
action = "{{route('store')}}"
Или просто измените свой маршрут, :
Route::post('admin/store', [DeviceController::class, 'store'])->name('store');