Laravel 5 - 命名空间+动态模型

Spo*_*ted 1 php laravel-5

我有一个非常基本的功能来删除Laravel 4.x上一个简单的网站上的东西,其工作原理如下:

public function delete()
{
    ...
    $Model = Input::get('Model');       
    $Action = $Model::find($Id);
   ...
}
Run Code Online (Sandbox Code Playgroud)

现在在Laravel 5上,我正在尝试做同样的事情但到目前为止我不能因为命名空间.由于$ Model是动态的,我不想做use任何事情.

这样的事情:

use App\C\Models as Model;

public function delete()
{
...
$Action = Model\$Model::find($Id);
...
}
Run Code Online (Sandbox Code Playgroud)

简单不行.什么是让这个工作的正确方法?

luk*_*ter 7

只需将命名空间的类名首先存储为字符串:

$Model = Input::get('Model');
$NamespacedModel = '\\Model\\' . $Model;
$Action = $NamespacedModel::find($Id);
Run Code Online (Sandbox Code Playgroud)