簡體   English   中英

Laravel在QueryBuilder中獲取結果toSql

[英]Laravel get result toSql in QueryBuilder

我正在使用laravel QB的select方法,我想獲得創建的MYSql命令。

Laravel QB:

public function scopeiOS( $query ){
    $result = $query->select( DB::raw('count(`platform`) as iOS' ) )     ->where( 'platform' , '=', 'iOS' )      ->pluck('iOS');
}

toSql()不是該函數的成員。

我不知道toSql()但是如果你想獲得創建的查詢,那么你可能想查看為該請求執行的查詢的日志。

$queries = DB::getQueryLog();
dd($queries);

或者執行最后一個查詢:

$queries = DB::getQueryLog();
$last_query = end($queries);

或許(警告未經測試的代碼)

public function scopeiOS( Illuminate\Database\Query\Builder $query ){
    $result = $query->select( DB::raw('count(`platform`) as iOS' ) )
                    ->where( 'platform' , '=', 'iOS' )
                    ->pluck('iOS');
}

有關toSql()更多信息,請查看此內容

/**
 * Get the SQL representation of the query.
 *
 * @return string
 */
public function toSql()
{
    return $this->grammar->compileSelect($this);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM