У меня есть два разных контроллера в папке контроллеров по умолчанию Laravel 5 (app/Http/Controllers
). И у меня есть синтаксис, как DB::select(...)
в обоих из них. Контроллер №1 работает нормально. Контролер №2 говоритНевозможно использовать фасад БД в Laravel 5
"Fatal error: Class 'DB' not found in ...".
Может кто-нибудь сказать мне, почему?
Controller # 1 код (работает отлично):
<?php
use Illuminate\Routing\Controller;
class Page extends Controller {
public function foo(){
...
DB::select(...);
...
}
}
?>
И это контроллер # 2 код (не работает):
<?php
use Illuminate\Routing\Controller;
class User extends Controller {
public function boo(){
...
DB::select(...);
...
}
}
?>
И у меня есть единственное место, где я начиная с этих контроллеров. У него нет «пространства имен», «использования» или чего-то еще.
Любые идеи?
Вам определенно нужно пространство имен, поскольку Laravel ищет контроллер внутри приложения \ Http \ Controlles namespace. «Использовать БД»; для ссылки из глобального пространства имен – scrubmx
Спасибо, но «использовать БД» все равно не работает. И все в порядке, возможно, пространство имен является хорошим решением, но почему мой синтаксис работает в первом контроллере? – WeekendMan
Вы пробовали '\ DB :: select (...);'? –