2016-05-18 76 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);