Laravel 5.2 BadMethodCallException в строке Controller.php 107: метод [save] не существует

Я не могу понять, почему я получаю эту ошибку.

Контроллер: SectionHeaderController

<?php

namespace SimpleCms\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
use Carbon\Carbon;
use App\Http\Requests;
use App\SectionHeader;class SectionHeaderController extends Controller {

public function store(Request $request) {
$header = new SectionHeader();
$this->validate($request, [
'title' => 'required',
'image' => 'required|mimes:jpeg,png|max:1024|dimensions:max_width=300,max_height=100',
'heading' => 'required',
'description' => 'required'
]);
$header->title = $request->title;
$header->heading = $request->description;
$header->description = $request->description;

if($request->hasFile('image')) {
$file = Input::file('image');
$timestamp = str_replace([' ', ':'], '-', Carbon::now()->toDateTimeString());

$name = $timestamp. '-' .$file->getClientOriginalName();
$header->filePath = $name;
$file->move(public_path().'/images/', $name);
}
$header->save();
return $this->create()->with('success', 'Done!');
}
}

Модель: SectionHeader

<?php

namespace SimpleCms;

use Illuminate\Database\Eloquent\Model;

class SectionHeader extends Model {

protected $table = 'sectionheader';
protected $fillable = [
'title',
'description',
'heading',
'image'
];
}

Маршруты:

Route::post('/home/store', 'SectionHeaderController@store' );

Я не знаю, что не так и как это исправить.
Эта ошибка появляется, когда я нажимаю кнопку отправки формы, которая указывает на это SectionHeaderController@store
Любая идея?

Спасибо.

РЕДАКТИРОВАТЬ:
Я изменил в соответствии с предложениями, и я получаю новую ошибку

FatalErrorException в строке SectionHeaderController.php 34: класс
‘App \ SectionHeader’ не найден

0

Решение

ваш код имеет очень проблемы …

Я предлагаю использовать ремесленные команды для создания моделей и контроллера в будущем …

в вашей модели пространство имен не App\SectionHeader из-за этого вы получаете это исключение: get Class 'App\SectionHeader' not found

измените пространство имен вашей модели на App\SectionHeader

в вашем контроллере вы создаете контроллер вместо модели:

$header = new SectionHeaderController():

вместо

$header = new SectionHeaders();

и, наконец, в конце действия магазина, я не знаю, почему вы делаете это:

return $this->create()->with('success', 'Done!');

Вы должны перенаправить на какой-либо маршрут и установить флэш-сообщение или сделать вид с сообщением об успехе …

0

Другие решения

Вы можете изменить

$ header = new SectionHeaderController ():

к

$ header = new SectionHeaders ();

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector