laravel-无法传递mysql列名的变量值

y0u0uwnf  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(245)

因此,我需要传递一个变量值,而不是mysql表的列名。
一开始,我从selectqueryreturnas得到了这个变量值

public function getSiteGrading($site)
    {                    
        $siteGrading = DB::table('sites')
                    ->select('siteGrading')
                    ->where('code',$site)                    
                    ->get(); 

        return $siteGrading;                 
    }

然后我需要使用这个返回变量值 $siteG 作为另一个select查询的列名

public function getItemStatus($itemCode)
    {
        $ordSite = Auth::user()->name;
        $siteG = $this->getSiteGrading($ordSite);
        // dd($siteG);

        $mandatory_count = DB::table('item_statuses')
                    ->select('itemCode')
                    ->where('itemCode',$itemCode)
                    ->where($siteG,'M')
                    ->get(); 
                    // dd($mandatory_count);

        return $mandatory_count;                 
    }

最后从 getItemStatus() 函数中,我在说错误的列名时遇到以下错误:
sqlstate[42s22]:找不到列:“where子句”中的1054未知列“[{”sitegrading“:”s57201“}]”(sql:从item\u状态中选择itemcode,其中itemcode=am0201和[{”sitegrading“:”s57201“}]=m)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题