【laravel5.4】查询构造器对象与模型instance的互相换换

1、查询构造器一般情况下返回对象,但是无法直接使用model类的一些方法,如toJson、toArray等

DB::table 结果转换成 model 类实例【collect 实例】

public function find($id=''){
        if(!isset($id) || !is_numeric($id)){
            echo '数据传入有误,请重试';
        }
        $select_obj2 = [];
        $select_obj = DB::table('student')
                      ->whereRaw('id>=? and password !=?',[$id,''])
                      ->select('id',DB::raw(" count('username') as usernamecount "))
                      ->first();
        foreach ($select_obj as $k=>$v){
            $select_obj2[$k] = $v;
        }
        
        /* DB查询构造器数据转换成模型数据collect instance */
        $collectInstance = collect($select_obj);
        var_dump($collectInstance); //查询构造器对象
        var_dump($collectInstance->toArray());  //collect模型instance实例
        
        var_dump($select_obj);  //object对象
        var_dump($select_obj2); //Array数组

    }

 

posted @ 2018-04-08 18:54  PHP急先锋  阅读(780)  评论(0编辑  收藏  举报