是的,您可以这样做,但您需要使用完全限定的类名:
$model_name = 'App\Model\User'; $model_name::where('id', $id)->first();
如果您的模型名称存储在除普通变量之外的其他内容(例如,对象属性),则需要使用中间变量才能使其生效.
$model = $this->model_name; $model::where('id', $id)->first();
试试这个:
$model_name = 'User'; $model = app("App\Model\{$model_name}"); $model->where('id', $id)->first();