Lumen:使用帮助程序获取错误:在不在对象上下文中使用$this

Lumen : using helper get error : Using $this when not in object context

提问人:Sermed mayi 提问时间:7/30/2021 最后编辑:apokryfosSermed mayi 更新时间:7/30/2021 访问量:392

问:

我在 Http 文件夹内的 Helpers 文件夹中创建了这个帮助程序:

<?php
   namespace App\Http\Helpers;
    class CreateRandomId{
        public static function get_id($my_table)
        {
            $id = mt_rand(1000000000, 9999999999); 
            if($this->check_id($id,$my_table)){
                get_id($my_table);
            }
            return $id;
        }
    
        public static function check_id($id,$my_table)
        {
            $table=DB::table($my_table)->where('id',$id)->get();
            if (count($table)==0){
                return false;
            }
            return true;
        }
    }

当我在控制器中调用它时:

$new_user_id = CreateRandomId::get_id('users'); 

它给了我这个错误:当我在函数中删除$this时,我收到此错误:Using $this when not in object contextCall to undefined function App\Http\Helpers\check_id()

php laravel 这个 流明

评论


答:

2赞 S N Sharma 7/30/2021 #1

check_id是一个静态函数,如果你想将它访问到其他函数中,那么你必须使用...

self::check_id($id,$my_table)