有没有办法在phpstorm中打印出SQL查询语句?
Is there a way to print out SQL query sentence in phpstorm?
我目前正在调试 php 代码。麻烦之一是,我不知道如何打印出变量的值。我们的代码是在 Zend 框架中构建的 IDE 是 phpstorm.
例如,对于下面的 SQL 查询,如何打印出发送到数据库的实际 sql 句子?或者,换句话说,有没有办法将 $query 作为字符串打印到某个地方?比如Chrome的控制台?谢谢你的建议。
$query = DB::table('ctre_contact AS contact')
->join('ctre_company AS company', 'company.id', '=', 'contact.company_id')
->select(
'contact.id',
'contact.first_name',
'contact.last_name',
'company.name AS company_name',
DB::raw("COALESCE(FIND_IN_SET(contact.id, '$program->client_admin'), 0) AS is_client_admin"),
DB::raw("COALESCE(FIND_IN_SET(contact.id, '$program->program_admin'), 0) AS is_program_admin"),
DB::raw("COALESCE(FIND_IN_SET(contact.id, '$program->user'), 0) AS is_user"),
DB::raw("COALESCE(FIND_IN_SET(contact.id, '$program->user_monitor_role'), 0) AS is_user_monitor")
);
if (!empty($where)) {
$query->whereRaw(join(" AND ", $where));
}
您可以使用 __toString() 函数执行此操作:
$sql = $query->__toString();
我目前正在调试 php 代码。麻烦之一是,我不知道如何打印出变量的值。我们的代码是在 Zend 框架中构建的 IDE 是 phpstorm.
例如,对于下面的 SQL 查询,如何打印出发送到数据库的实际 sql 句子?或者,换句话说,有没有办法将 $query 作为字符串打印到某个地方?比如Chrome的控制台?谢谢你的建议。
$query = DB::table('ctre_contact AS contact')
->join('ctre_company AS company', 'company.id', '=', 'contact.company_id')
->select(
'contact.id',
'contact.first_name',
'contact.last_name',
'company.name AS company_name',
DB::raw("COALESCE(FIND_IN_SET(contact.id, '$program->client_admin'), 0) AS is_client_admin"),
DB::raw("COALESCE(FIND_IN_SET(contact.id, '$program->program_admin'), 0) AS is_program_admin"),
DB::raw("COALESCE(FIND_IN_SET(contact.id, '$program->user'), 0) AS is_user"),
DB::raw("COALESCE(FIND_IN_SET(contact.id, '$program->user_monitor_role'), 0) AS is_user_monitor")
);
if (!empty($where)) {
$query->whereRaw(join(" AND ", $where));
}
您可以使用 __toString() 函数执行此操作:
$sql = $query->__toString();