2015-08-19 3 views
2

У меня есть вопрос с моделью в laravel 5laravel 5 models Класс не найден

Я хочу получить доступ к моей модели и получить возвращаемое значение. но это не работает :(

приложение/HTTP/Контроллеры/MemberController.php

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Http\Controllers\Controller; 

use App\Model; 
class MemberController extends Controller 
{ 
    public function index() 
    { 
     return MemberModel::test(); 
    } 
} 

приложение/модели/MemberModel.php

namespace App\Model; 

use Illuminate\Database\Eloquent\Model; 

class MemberModel extends Model 
{ 
    public function test(){ 
     return "123"; 
    } 
} 

routes.php

Route::get('test', '[email protected]'); 

и сообщение об ошибке ..

FatalErrorException in MemberController.php : 
Class 'App\Http\Controllers\MemberModel' not found 
+0

Я ничего не знаю о PHP, но я предполагаю, что MemberController.php нуждается в строке 'использование App \ Model \ MemberModel;' вместо 'использование App \ Model;' как у вас есть. –

ответ

3

Вы держите свои модели в папке модели поэтому она должна быть

use App\Model\MemberModel; 
+0

приятно! который может работать сейчас, и я хочу спросить Я вижу код, который пишет вот так: \ MemberModel :: test(); Я хочу знать, что «есть» какие-либо средства? – Maras

+0

@ Maras.read this http://stackoverflow.com/questions/4790020/what-does-a-backslash-do-in-php-5-3 –

+0

@ maras.http: //daylerees.com/php-namespaces -explained/ –

1

есть 2 варианта один является вам нужно использовать пространство имен в противном случае использовать этот способ

public function index() 
{ 
    return \App\MemberModel::test(); 
} 
0

вы можете также добавить местоположение в psr-4 в вашем composer.json

... 
"autoload": { 
    "classmap": [ 
     "database", 
     "app/models" 
    ], 
    "psr-4": { 
     "App\\": "app/", 
    } 
}, 

run composer dump-autolo Объявление вы можете вводить режим по имени

use Model; 
Смежные вопросы