2017-01-17 6 views
0

Я хочу получить номер (так integer) MySQL SELECT в секунду в Ларавеле. Исходя из this post я попробовал те, но он возвращает boolean:Как получить результат из необработанного запроса MySQL в Laravel?

DB::statement('show global status like "Com_select"'); 
DB::unprepared('show global status like "Com_select"'); 

Это возвращает 0:

DB::connection()->getPdo()->exec('show global status like "Com_select"'); 

Выполнение этого запроса в MySQL Workbench, я получаю:

+---------------+--------+ 
| Variable_name | Value | 
+---------------+--------+ 
| Com_select | 818694 | 
+---------------+--------+ 

Как получить возвращаемое значение этого типа MySQL-запроса с помощью Laravel?

Благодаря & веселит

+0

Вы используете одни и те же учетные данные для Laravel вы используете в Workbench? Или, по крайней мере, у пользователей, у которых есть правильные разрешения на доступ к этой информации? – wogsland

+0

Да, те же пользователи, те же разрешения. 'DB :: connection() -> getPdo() -> exec ('select count (*) от пользователей');' возвращает '0', но это:' DB :: table ('users') -> select (DB :: raw ('count (*)')) -> get(); 'возвращает тот же номер, что и в верстаке. – Vlad

ответ

1
$results = DB::select(DB::raw("show global status like \"Com_select\"")); 

dd($results); 

вы можете использовать это и результат будет:

enter image description here

+0

Waw ... Я думал, что 'DB :: select()' предназначен только для 'SELECT ...' запросов ... Thantks много, он работает. – Vlad

Смежные вопросы