Laravel 连接阿里云分析性数据库

laravel 连接阿里云分析性数据库mysql3.0 版本 提拔 通过Mode操作的时候,出现SQLSelectStatement is NOT supported!

我在test中测试的代码如下:

  public function testR()
    {
        $order = OrderDetail::take(10)->get();
        dump($order);
    }

运行以后出现了下面的问题

SQLSTATE[HY000]: General error: 1815 [15022, 2020011011450519216800010403151056353] statement type: class com.alibaba.fastsql.sql.ast.statement.SQLSelectStatement is NOT supported!  (SQL: select * from order_detail` limit 10)`

其中OrderDetail是在数仓中存在的一张表,对应的model中我也添加了以下两个配置,

class OrderDetail extends Model
{
    protected $connection = 'AnalyticDB';
    protected $table = 'order_detail';
}

我的config/database.php的配置如下 ,配置正确无误.
laravel 连接阿里云分析性数据库mysql3.0 版本 提拔 通过Mode操作的时候,出现SQLSelectStatement is NOT supported!

通过阿里云官方给出的文档是可以链接上的并且可以查询到数据,现在我想用laravel框架的model直接查询,但是就出现了上面的异常,有没有人出现过这种情况?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 3

这个很多mysql的函数不能用,我们也在用这个

5年前 评论
hs1234 (楼主) 5年前

把pdo的预查询关闭就可以正常使用了
例如:

'analytic_db'    => [
            'driver'   => 'mysql',
            'host'     => env('ANALYTIC_DB_HOST'),
            'port'     => env('ANALYTIC_DB_PORT'),
            'database' => env('ANALYTIC_DB_DATABASE'),
            'username' => env('ANALYTIC_DB_USERNAME'),
            'password' => env('ANALYTIC_DB_PASSWORD'),
            'options'  => [
                PDO::ATTR_EMULATE_PREPARES => true,
            ]
        ]
5年前 评论
hs1234 (楼主) 5年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!