【发布时间】:2021-08-11 11:14:12
【问题描述】:
有没有办法通过表名获取模型?
例如,我有一个“用户”模型,它的表定义为protected $table = "users"
现在,我要做的是通过等于“用户”的表名获取模型。
这个函数更像是Model::getTable();的逆向
我到处搜索,但找不到解决方案,也许我可能遗漏了一些简单的东西?
编辑
我正在构建类似于 API 的东西:
Route::get('/{table}', 'ApiController@api');
Route::get('/{table}/filter', 'ApiController@filter');
Route::get('/{table}/sort', 'ApiController@sort');
Route::get('/{table}/search', 'ApiController@search');
所以在地址栏中,例如当我搜索“用户”时,我可以直接点击 URL:
api/users/search?id=1
然后在控制器上,类似:
public function search(){
// get all the params
// get the model function
$model = //function to get model by table name
// do some filtering, then return the model
return $model;
}
【问题讨论】:
-
可以告诉我们您想做什么吗?因为当我看到这样的问题时,我想到的就是继承和依赖倒置之类的东西
-
@AchrafKhouadja 我已经编辑了我的问题。谢谢
-
请记住,格式正确的问题会产生更好的答案,我希望您能找到您正在寻找的答案