Connect with Laravel

To connect SingleStore Helios with Laravel, install the SingleStore Driver for Laravel via composer:

composer require singlestoredb/singlestoredb-laravel

To enable the driver, edit your config/database.php file and create a new entry for SingleStore in the connection configuration. Update the default option to point to the new connection or set DB_CONNECTION=singlestore in your environment file.

[
'default' => env('DB_CONNECTION', 'singlestore'),
'connections' => [
'singlestore' => [
'driver' => 'singlestore',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'unix_socket' => env('DB_SOCKET'),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
PDO::ATTR_EMULATE_PREPARES => true,
PDO::ATTR_PERSISTENT => true
]) : [],
],
]
]

The SingleStore driver is an extension of the MySQL driver, so you could also just change your driver from mysql to singlestore.

To enable SSL connections between SingleStore Helios and Laravel, download the singlestore_bundle.pem certificate file and update your MYSQL_ATTR_SSL_CA environment variable to point to it. Set PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT to "true", as shown below.

'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => true,
PDO::ATTR_EMULATE_PREPARES => true,
PDO::ATTR_PERSISTENT => true
]) : [],

For more details, see the SingleStore Driver for Laravel and the Laravel docs.

Last modified: July 5, 2023

Was this article helpful?