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

时间:2016-03-17 12:04:51

标签: php dynamic laravel-5

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

这就是普通电话看起来像tableOne::all()所以我试图尝试这样的话:

$table = 'tableOne';
$table = 'tableTwo';
$table = 'tableThree';
$table = 'tableFour';

$contents = $table::all();

1 个答案:

答案 0 :(得分:0)

如果您想将模型名称用作动态变量,则可以通过${}调用轻松实现此目的。

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

${$nameOfModel}::all()

您还可以在PHP doc中找到有关变量名称(变量,函数,...)的更多详细信息:

Variables variable

Variable functions

根据评论我认为,您需要首先定义您的类,因此您的代码必须如下所示:

$table = 'tableOne';
$table = 'tableTwo';
$table = 'tableThree';
$table = 'tableFour';

$class = new $table;
$contents = $class::all();