使用动态变量作为模型的名称


Using a dynamic variable as the name of a model

如何使用动态变量调用模型?我以为$nameOfModel::all()会起作用。我有 4 个不同的表需要使用相同的功能。

这就是普通调用的样子tableOne::all()所以我尝试拥有类似的东西:

$table = 'tableOne';
$table = 'tableTwo';
$table = 'tableThree';
$table = 'tableFour';
$contents = $table::all();

如果要使用模型名称作为动态变量,可以通过调用${}轻松实现。

对于您提到的变量,它将是:

${$nameOfModel}::all()

您还可以在 PHP 文档中找到有关变量名称(变量、函数等)的更多详细信息:

变量变量

可变函数

根据注释,我认为您需要将类定义为 first,因此您的代码必须如下所示:

$table = 'tableOne';
$table = 'tableTwo';
$table = 'tableThree';
$table = 'tableFour';
$class = new $table;
$contents = $class::all();