2016-05-18 74 views
0

我正在尝试访问动态模型,以便我可以根据传递给函数的字符串来获取每个模型的计数。 这是我在控制器的功能是这样的:Laravel 5.2 - 从变量创建模型

public function numberOf(Request $request){ 
    $modelName = $request['option']; 
    $model = new $modelName; 
    $data = $model->count(); 

    return json_encode($data); 
    } 

但是当我通过一个字符串,像在这种情况下'Article'我得到一个错误:

Fatal error: Class 'Article' not found

即使我称其为控制器:

use App\Article; 
+0

您是否设置了名称空间? – Peon

+0

是的,当我使用这样的文章模型时,它在同一控制器中的其他函数中工作正常:$ numberOfArticles = Article :: count(); – Marco

回答

3

我不得不添加应用程序模型的名字,让我的功能看起来像现在这样和现在的一切工作正常:

$modelName = 'App\\'.$request['option']; 
$model = new $modelName; 
$data = $model->count(); 

return json_encode($data);