2016-05-18 4 views
0

モデルに動的にアクセスしようとしているため、関数に渡す文字列に応じてそれぞれの数を取得できます。 これは、コントローラの私の関数は次のようになります。私は、文字列を渡すときに、この場合'Article'には、私はエラーを取得するように、Laravel 5.2 - 変数からモデルを作成する

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

    return json_encode($data); 
    } 

しかし:

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); 
関連する問題