我的插件代码:
DbContext.Database.BeginTransaction(IsolationLevel.Snapshot);
答案 0 :(得分:0)
模式$table
中的变量是受保护的成员,因此我们对此无能为力,但是我们可以通过在类[extend it]中添加public方法来简单地访问它。
在您的任何插件中,您都可以添加此代码段
use RainLab\User\Models\User as UserModel;
class Plugin extends PluginBase
{
public function boot() {
UserModel::extend(function($model) {
$model->addDynamicMethod('getTableName', function() use ($model) {
return $model->getTable();
});
});
//....
现在您可以拨打电话
echo User::getTableName();
这类似于hack
,但只有在您确实非常需要它的情况下,您才能执行类似的操作
如有疑问,请发表评论。
答案 1 :(得分:0)
您可以将静态方法添加为Model的辅助方法:
class MyModel extends Model
{
public static function getTableName()
{
return with(new static)->getTable();
}
}
用法:MyModel::getTableName()