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直接查询,但是就出现了上面的异常,有没有人出现过这种情况?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 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年前

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