В настоящее время я работаю с MemSQL Columnstore и пытаюсь интегрировать его с Laravel 5, но каждый раз, когда я пытался сделать запрос, я получал следующую ошибку
SQLSTATE [HY000]: общая ошибка: 2014. Невозможно выполнить запросы, когда другие небуферизованные запросы активны. Рассмотрите возможность использования PDOStatement :: fetchAll ().
Я искал и нашел это:
Не использовать подготовленные заявления в Laravel Eloquent ORM?
И пытался сделать это так, но не работает. Вот мой запрос
public function index(){
$sql = 'SELECT * FROM SCORE LIMIT 20';
$pdo = DB::getPdo();
$query = $pdo->query($sql);
$result = $query->fetchAll();
return view('home', compact('result'));
}
Любое руководство будет высоко ценится.
У меня была такая же проблема.
Согласно документации MemSQL, вам необходимо настроить клиентский драйвер: https://docs.memsql.com/concepts/v6.0/prepared-statements/
В файле database.php добавьте новый ключ параметров.
Вот моя конфигурация, она почти такая же, как по умолчанию, обратите внимание на клавишу опций.
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
'options' => array(
PDO::ATTR_EMULATE_PREPARES => TRUE
),
],
Других решений пока нет …