📅  最后修改于: 2023-12-03 15:41:29.251000             🧑  作者: Mango
当我们使用 Laravel 中的模型时,我们经常会通过该模型获取与其对应的表名。但是,在某些情况下,我们可能需要获取表的原始名称(未经 Laravel 的命名约定转换),以便我们可以使用表的原始名称执行某些操作。
下面是如何获取没有突变模型 Laravel 的原始名称的代码片段:
$tableName = with(new Model())->getTable();
在上面的代码中,我们实例化了一个空的模型对象,并使用 getTable()
方法获取了表的名称。但是,这只返回 Laravel 模型中的表名,这可能已经被 Laravel 处理为符合 Laravel 命名约定的名称。
要获取原始表名称,我们只需使用以下代码:
use Illuminate\Support\Facades\DB;
$tableName = DB::connection()->getTablePrefix() . (new Model())->getTable();
在上述代码中,我们使用了 DB::connection()
方法来获取当前数据库连接的实例,并使用 getTablePrefix()
方法获取表名称前缀。接着,我们将前缀添加到我们之前获取的表名中,以获取表的原始名称。
这是一个简单而实用的技巧,可以帮助我们更好的管理 Laravel 应用程序中的数据库表名。