【发布时间】:2017-05-30 21:16:25
【问题描述】:
我的许多模型大部分都使用了一些函数
因此集中存储它们而不是重复代码是有意义的。
例如,我有一个函数可以从我需要的任何表中找到随机行:
function getRandomRow() {
$rowCount = DB::connection('mydatabasename')
->table('my_table_name')
->selectRaw("FLOOR(RAND() * COUNT(*)) AS offset")
->first();
$offset = $rowCount->offset;
$randomRow = DB::connection('mydatabasename')
->table('my_table_name')
->select()
->offset($offset)
->limit(1)
->first();
return $randomRow;
}
我查看了inheritance(扩展)和traits - 以及docs on polymorphic relations - 但不清楚哪个最有效以及如何访问表名(与正在使用的模型相关联) 在通用函数中。
我的问题:
- 我应该把这个功能放在哪里,以便所有型号都可以使用它?
- 如何编写代码以使'my_table_name' 使用正确的模型表?
【问题讨论】:
-
您找到解决方案了吗?我在下面发布了我的解决方案
标签: php laravel model-view-controller model extends