在这种情况下如何使用OOP?

时间:2016-10-10 08:30:00

标签: php laravel oop

我有允许从数据库导出数据的类。

有方法采用参数$table

use App\User;

public function query($table){
   return User::get();
} 

问题是我需要在请求中更改$table。在这种情况下,我有默认导入的类use App\User;,它允许我使用对象模型User

但是如果我想像对象一样使用对象?

所以,我可以这样做:

if($table == "users"){
   return User::get();
} else if ($table == "clients") {
   return Client::get();
}

并导入顶级类中的所有模型类。

但这不是好方法,我的事。

1 个答案:

答案 0 :(得分:0)

不确定这是否是您要找的,但您可以尝试创建一个地图以将表映射到对象。

$map = array('users' => User::class, 'clients' => Client::class);
$object = $map[$table];
return $object::get();