第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Laravel Eloquent - 無法使用數(shù)組獲取列

Laravel Eloquent - 無法使用數(shù)組獲取列

PHP
楊__羊羊 2023-09-15 17:19:48
我正在使用 laravel eloquent 從多個(gè)列中獲取數(shù)據(jù)。我正在使用數(shù)組從多個(gè)列中獲取數(shù)據(jù)。為簡單起見,我顯示了兩列的數(shù)據(jù)。這是我的數(shù)據(jù)庫表,其中包含callee_number和caller_number:這是我使用數(shù)組來獲取列的代碼:    $paramArray = $params->all();    $Caller_number = "";    $Callee_number = "";    if (isset($paramArray['Caller_number']) && $paramArray['Caller_number'] != '') {        $Caller_number = $params->input('Caller_number');    }    if (isset($paramArray['Callee_number']) && $paramArray['Callee_number'] != '') {        $Callee_number = $params->input('Callee_number');    }    if($Caller_number!=null){        $querypart[] = "caller_number=$Caller_number";    }    if($Callee_number!=null){        $querypart[] = "callee_number=$Callee_number";    }    $FinalQueryPart = '';    if (!empty($querypart)) {                $Seprator = "";        foreach ($querypart as $querypartValue) {            $FinalQueryPart .= $Seprator . $querypartValue;            $Seprator = " AND ";        }    }    $FinalQueryPart = trim($FinalQueryPart); //Output: "caller_number=783 AND callee_number=77"    但是,在上面的代碼之后運(yùn)行以下代碼后,我收到錯(cuò)誤:    $gets = Tbcdrnew::where(function ($query) use ($FinalQueryPart) {        $query->MIN('uniqueid')->where($FinalQueryPart)            ->from('cdrnew');                })->groupBy('uniqueid')->orderBy('Start_Date','DESC')->get();錯(cuò)誤如下:Illuminate\Database\QueryException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'caller_number=783 AND callee_number=77' in 'where clause' (SQL: select * from `cdrnew` where (`caller_number=783 AND callee_number=77` is null) group by `uniqueid`不明白我的代碼中有什么問題。有人可以糾正我嗎?
查看完整描述

2 回答

?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊

我認(rèn)為您在查詢中犯了一個(gè)錯(cuò)誤。將以下行替換為這些行:


if($Caller_number!=null){

    $querypart[] = "caller_number = '$Caller_number'";

}

if($Callee_number!=null){

    $querypart[] = "callee_number = '$Callee_number'";

}

$Caller_number(請(qǐng)注意&上的單引號(hào)$Callee_number)。


另外,使用該whereRaw()方法而不是where()按照響應(yīng)評(píng)論中建議的方法。


查看完整回答
反對(duì) 回復(fù) 2023-09-15
?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

我添加了一個(gè)答案,建議一種通過使用 Laravel 集合方法消除所有條件來簡化代碼的方法if。


$query = Tbcdrnew::query();                           //start a query string based on Tbcdrnew model OR you could do DB::table('cdrnew');

collect($paramArray)->filter(function($value, $key){  //convert paramArray into a collection

    return $value != '';                              //filter all null and empty values

})->each(function($value, $key) use ($query){         //iterate through all filtered values

    $query->where(strtolower($key), $value);          //assuming array key is always column key in lowercase

});

$result = $query->groupBy('uniqueid')->orderBy('start_date','desc')->get();

我不確定$query->MIN您的原始查詢中是否有有效的查詢生成器函數(shù)。


查看完整回答
反對(duì) 回復(fù) 2023-09-15
  • 2 回答
  • 0 關(guān)注
  • 151 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)