Я сейчас создаю веб-сайт с Laravel и размещаю его на Heroku, а в Heroku база данных связана с Salsforce с помощью Heroku Connect.
Я настроил Salesforce и успешно подключился к Heroku (может изменять данные как в Heroku, так и в Salesforce).
И я настраиваю связь между Laravel и Heroku.
Я изменил настройку в config \ database.php, вот так
$DATABASE_URL = parse_url(.....);
'default' => env('DB_CONNECTION', 'pgsql'),
'pgsql' => [
'driver' => 'pgsql',
'host' => $DATABASE_URL["host"],
'port' => $DATABASE_URL["port"],
'database' => ltrim($DATABASE_URL["path"], "/"),
'username' => $DATABASE_URL["user"],
'password' => $DATABASE_URL["pass"],
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'require',
],
Но сейчас у меня возникают проблемы с получением данных базы данных в Laravel. В отличие от учебника в Интернете, у них есть четкая база данных. В моем случае структура базы данных определяется Salesforce, поэтому я думаю, что не нужно создавать таблицу миграции в Lavravel.
Проблема в том, что я не знаю, как запросить данные из базы данных Heroku без миграции.
Я создал модель под названием Orderitem. Внутри модели код выглядит следующим образом
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Orderitem extends Model
{
//
protected $table = 'orderitem';
}
Когда я пытался использовать php artisan tinker to test
, это показывает следующее сообщение об ошибке
Illuminate/Database/QueryException with message 'SQLSTATE[08006] [7] sslmode value "require" invalid when SSL support is not compiled in (SQL: select * from "orderitem")'
Поэтому я изменяю sslmode в config \ database.php на «предпочитаю»
И сообщение об ошибке становится
Illuminate/Database/QueryException with message 'SQLSTATE[08006] [7] FATAL: no pg_hba.conf entry for host "58.152.50.200", user "qfcswoizvgfqay", database "d143de8iubks8b", SSL off (SQL: select * from "orderitem")'
Итак, я хочу знать, успешно ли я подключен к базе данных heroku?
Если нет, как мне настроить параметр и как запрашивать данные в Laravel?
Задача ещё не решена.
Других решений пока нет …