Проблема Laravel CRUD с сохранением моей информации в базе данных

У меня проблема с сохранением моей инфы в базе Laravel CRUD, я пишу новую инфу на странице создания, а он переходит на индексную страницу, а инфу не видит. после того, как я нажму отправить

Я не вижу свою новую информацию

мой create.blade.php (первая страница изображения):

<p>It works</p>
<form metod = "post" action = "/projects">
    {{ csrf_field() }}
    <div>
        <input type = "text" name = "title" value = "" placeholder = "title">
    </div>
    <div>
    <textarea type = "text" name = "description" value = "" placeholder = "description"></textarea>
    </div>
    <div>
<button type = "sumbit">Sumbit</button>
    </div>
</form>

мой index.blade.php (вторая страница изображения):

<p>It works</p>
@foreach ($projects as $project)
<li>{{ $project->title}}</li>>
@endforeach

мой web.php

<?php

use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/welcome', 'App\Http\Controllers\MainController@welcome');
Route::get('/users', 'App\Http\Controllers\MainController@users');
Route::get('/business', 'App\Http\Controllers\MainController@business');
Route::get('/projects', 'App\Http\Controllers\ProjectsController@index');
Route::post('/projects', 'App\Http\Controllers\ProjectsController@store');
Route::get('/projects/create', 'App\Http\Controllers\ProjectsController@create');


Auth::routes();

Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');

мой ProjectsController.php:

<?php

namespace App\Http\Controllers;
use \App\Models\Project;
use Illuminate\Http\Request;

class ProjectsController extends Controller
{
    public function index()
    {
    $projects = \App\Models\Project::all();
    return view('projects.index', compact('projects'));
    }
    public function create()
    {
    return view('projects.create');
    }
    public  function store()
    {
    $project = new Project();
    $project->title = reqeust('title');
    $project->description = request('description');
    $project->save();
    return redirect('/projects');

    }
}

мой проект.php:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Project extends Model
{
    use HasFactory;
}

Project заполняемый laravel.com/docs/8.x/eloquent#mass-assignment
Kamlesh Paul 22.12.2020 11:24

заполняемый не требуется, так как это не массовое задание @Kamlesh Paul

Rian Zaman 22.12.2020 11:31

У вас тут опечатка: metod = "post", должно быть method = "post"

Remul 22.12.2020 11:31
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
3
249
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы неправильно написали request в своей функции ProjectsControllerstore(), она должна выглядеть так:

$project->title = request('title');

Это может быть не совсем решением, вам может понадобиться это вместо этого

public  function store()
{
$project = new Project();
$project->title = request()->input('title');
$project->description = request()->input('description');
$project->save();
return redirect('/projects');

}

https://laravel.com/docs/8.x/requests#accessing-the-request

хорошо, но ничего не изменилось (я пишу имя и описание и нажимаю «Отправить», выбрасывает меня на индекс страницы, а на индекс страницы нет новой информации (

Mineral 22.12.2020 11:40

@Mineral это из-за опечатки в вашей форме, как указано в комментариях.

lagbox 22.12.2020 11:41

@lagbox правильно, <form metod = "post" action = "/projects"> должно быть <form method = "post" action = "/projects">

Aidan 22.12.2020 11:43

@Mineral рассмотрите возможность использования IDE, такой как Atom или PHPstorm, чтобы помочь обнаружить эти опечатки.

Aidan 22.12.2020 11:44

Другие вопросы по теме