在Heroku上设置连接到Salesforce的Laravel

时间:2018-07-09 04:46:29

标签: php laravel heroku salesforce heroku-postgres

我正在用Laravel制作一个网站,并托管在Heroku上,在Heroku中,数据库使用Heroku Connect与Salsforce连接。 我已经设置了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")'

所以我将config \ database.php中的sslmode更改为“ prefer” 错误消息变为

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中查询数据?

0 个答案:

没有答案