Как правильно указать namespace у модели, чтобы не было ошибок в laravel 5?

Здравствуйте! Возникла проблема в использовании 5-й лары, а именно не могу обратится к модели.

У меня есть NewsController со следующим содержимым

<?php namespace App\Http\Controllers;

use Input;
use Validator;
use App\News as News;

class NewsController extends Controller {

	public function __construct()
	{
		$this->middleware('auth');
	}

	public function index()
	{
		return view('news');
	}

	public function addnews()
	{
		$data = input::all();

		$validator = Validator::make($data, array('title' => 'required|min:3', 'body' => 'required|min:3'));

		if($validator->fails())
		{
			return redirect()->back()->withErrors($validator->messages(), 'addnews');

		}
		else
		{
			$addnews = \News::add();
			return 'Новость успешно добавлена!';
		}	
	}

}


Я пытаюсь обратится к модели News

$addnews = \News::add();

Сама модель:

<?php namespace App;

class News extends Model {

	public static function add($data)
	{
		$news = new News();
		$news->title = $data['title'];
		$news->body = $data['body'];
		$news->save();
	}
	
}


Здесь возникает ошибка:

FatalErrorException in NewsController.php line 32:
Class 'News' not found
  • Вопрос задан
  • 1412 просмотров
Пригласить эксперта
Ответы на вопрос 1
JhaoDa
@JhaoDa
LaravelRUS Team
У вас модель в пространстве App находится, а вы её пытаетесь обращаться к ней из глобального пространства имён.

Либо обращайтесь
$addnews = \App\News::add();
либо допишите в начале файла
Use App\News;
и обращайтесь к модели
$addnews = News::add();

А писать
use App\News as News;
это избыточно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы