Laravel, dodawanie danych do bazy danych, błąd

0

Witam, ucząc się Laravela próbuję dodać dane do bazy danych.
mam plik kontrolera:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class NewAdController extends Controller
{
    public function __construct ()
    {
        $this -> middleware('auth');
    }
    public function newAd (){
        return view('new.newAd');
    }

    public function save(Request $request)
    {
        //dd($request->all());
        NewAdController::create($request->all());

    }
}

plik modelu:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class NewAd extends Model
{
    protected $fillable = ['dan', 'dan', 'dan', 'dan', 'dan', 'dan', 'dan', 'dan', 'dan'];
}

plik modelu:

Route::post('/save', 'NewAdController@save');

i formularz:

<form action="/save" method="POST">

</form>

po kliknięciu "wyślij" otrzymuję błąd:
Method [create] does not exist on [App\Http\Controllers\NewAdController].

mógłby mi ktoś powiedzieć gdzie szukać błędów?

Z góry dzięki za pomoc :)

2

Dlaczego w kontrolerze znów chcesz wywołać ten sam kontroler.

NewAdController::create($request->all());

Pewnie chodziło Ci o wywołanie modelu.

NewAd::create($request->all());
0

zmieniłem plik kontrolera:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class NewAdController extends Controller
{
    public function __construct ()
    {
        $this -> middleware('auth');
    }
    public function newAd (){
        return view('new.newAd');
    }

    public function save(Request $request)
    {
        //dd($request->all());
        NewAd::create($request->all());

    }
}

i teraz błąd wygląda tak:
include(C:\xampp\htdocs\georg\vendor\composer/../../app/Http/Controllers/NewAd.php): failed to open stream: No such file or directory

0

dodaj jeszcze

namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
use App\NewAd;

Chyba, że model masz w innym katalogu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1