Я довольно новичок в Laravel и пытаюсь использовать операции CRUD, используя Resource Controller
.Проблема, с которой я сталкиваюсь, связана с тем, что должно быть action
в форме создания задачи.Позвольте мне дать вам общее представление о том, как приложение разработано.Я создал отдельные каталоги для MVC, как указано ниже:
- Todo_Model \ todo_model.php
- Todo_Controller \ todo_controller.php
- Todo_View \ home.blade.php
- Todo_View \ create.blade.php
Маршрут: Route :: resource ('todo', 'Todo_Controller \ todo_controller');
маршрут: список
Контроллер:
public function index()
{
return view('Todo_View\home');
}
public function create()
{
return view('Todo_View\create');
}
public function store(Request $request)
{
$todo= new todo_model();
$todo->title=$request->title;
$todo->body=$request->body;
$todo->save();
return redirect('todo');
}
create.blade.php
<form method="POST" action="../todo">
{{csrf_field()}}
<tr><td><input type="text" name="title" value="" placeholder="Title"></td></tr>
<tr><td><input type="text" name="body" value="" placeholder="Body"></td></tr>
<tr><td><input type="submit" name="submit" value="Submit"></td></tr>
</form>
Теперь проблема в том, что action
формыдолжно быть todo
, как можно видеть в route:list
, но когда я нажимаю «отправить» с этим, я получаю MethodNotAllowedHttpException
, а отображаемый URL-адрес - http://localhost/laravel-7/blog/public/todo/todo
.Но во время удара и испытания я понял, что должен использовать действие формы как ../todo
.Я очень озадачен тем, почему я должен использовать это действие, поскольку оно не имеет никакого смысла, потому что в списке маршрутов URI четко упоминается как todo
Другой момент, когда я нажимаю на страницу индексаURI равен http://localhost/laravel-7/blog/public/todo
, и когда меня перенаправляют с домашней страницы для создания страницы, URI равен http://localhost/laravel-7/blog/public/todo/create