2014-09-19 5 views
-2

Как назвать модель в laravel.как назвать модель в laravel от контроллера

Мой код:

use Jacopo\Authentication\Models\Guide; 

class SampleController extends BaseController 
{ 
    public function index() 
    { 
     $model='Guide'; 

     $guide=$model::where('guide_link','=',"guide")->get(); 

     print_r($guide); 
    } 
} 

Эти будет производить 'Руководство' класс не найдена ошибка.

+1

Несмотря на то, что вы не форматируете свой код, чтобы сделать его доступным для чтения, у вас нет методов в вашем контроллере. –

+0

Вы, очевидно, используете пространства имен, но вы arent в пространстве имен на ур? Почему в вашем контроллере нет методов? Изучите основы ООП и Ларавеля и вернитесь. – Xatenev

ответ

0

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

class SampleController extends BaseController 
{ 
    public function index() 
    { 
     $model='Jacopo\Authentication\Models\Guide'; 

     $guide=$model::where('guide_link','=',"guide")->get(); 

     print_r($guide); 
    } 
} 

Вы также можете разрешить его из контейнера IoC, но вы должны зарегистрировать его первый:

App::bind('Guide', 'Jacopo\Authentication\Models\Guide'); 

И тогда вы должны быть в состоянии:

$model = App::make('Guide'); 

$guide = $model::where('guide_link','=',"guide")->get(); 

Но это не очень хороший вариант

+0

'использование Jacopo \ Authentication \ Models \ Guide;' должно сделать это ненужным. – ceejayoz

0

Если вы добавили свой класс, вы должны запустить в терминале

composer dump-autoload 

обновить карту класса. В противном случае автозагрузчик может не «видеть» ваш класс, и вы получаете эту ошибку.

Смежные вопросы