2014-09-19 61 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

尽管没有格式化您的代码以使其可读,但您的控制器中没有任何方法。 – 2014-09-19 15:34:53

+0

你显然使用了命名空间,但是你并不在自己的命名空间中?为什么控制器中没有方法?了解OOP和Laravel的基本知识,然后回来。 – Xatenev 2014-09-19 15:44:13

回答

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 2014-09-19 16:04:53

0

,如果您添加类,你应该在终端

composer dump-autoload 

运行更新您的类映射。否则,自动加载器可能不会“看到”你的课程,并且你得到这个错误。

相关问题