Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save Nutscracker87/82070e45a095ff8bea3fd164160dec25 to your computer and use it in GitHub Desktop.

Select an option

Save Nutscracker87/82070e45a095ff8bea3fd164160dec25 to your computer and use it in GitHub Desktop.
/*
* @param prepared capsule(eloquent) object
* use: capsuleToSql(
$capsuleObject->select('*')
->orderBy('created_date', 'desc'));
*/
public function capsuleToSql($preparedForGetQuery) {
Capsule::connection()->enableQueryLog();
$preparedForGetQuery->get();
$loggedQueries = Capsule::connection()->getQueryLog();
$lastQueryInfo = end($loggedQueries);
$lastQuery = $lastQueryInfo['query'];
$lastQueryBindings = $lastQueryInfo['bindings'];
$search = array();
$replace = array();
foreach ($lastQueryBindings as $value) {
$search[] = "?";
$replace[] = "'".$value."'";
}
$sqlQuery = $lastQuery;
foreach ($search as $key => $value) {
$from = '/'.preg_quote($search[$key], '/').'/';
$sqlQuery = preg_replace($from, $replace[$key], $sqlQuery, 1);
}
return $sqlQuery;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment