将 SQL 转换为 Laravel 5.1

Posted

技术标签:

【中文标题】将 SQL 转换为 Laravel 5.1【英文标题】:Converting SQL to Laravel 5.1 【发布时间】:2016-08-01 22:41:27 【问题描述】:

我正在将一些项目从纯 php 转换为 Laravel 5.1,但在转换此查询时遇到问题:

\DB::select( "SELECT TABLE_NAME as nombre, FORMAT(TABLE_ROWS, 0) as cantidad 
              FROM information_schema.tables 
              WHERE table_type = 'BASE TABLE' AND table_schema = '".env('DB_DATABASE')."' " );

到 Eloquent ORM。你能帮帮我吗?

【问题讨论】:

我相信答案是:有没有办法用 Eloquent 检索数据库模式?不只是:如何用 sqlbuilder 编写这个查询? 看看Schema。尤其是Schema::hasTable()Schema::getColumnListing() 【参考方案1】:

这是另一种写法

\DB::table('tables')
    ->where('table_type', 'BASE TABLE')
    ->where('table_schema', env('DB_DATABASE'))
    ->select(
        'TABLE_NAME as nombre',
        \DB::raw('FORMAT(TABLE_ROWS, 0) as cantidad')
    )
    ->get();

【讨论】:

以上是关于将 SQL 转换为 Laravel 5.1的主要内容,如果未能解决你的问题,请参考以下文章

在laravel 5.1中将对象转换为数组

将原始 SQL 转换为 Laravel 查询构建器

Laravel 5.1 文档攻略 —— Eloquent:模型对象序列化

将 PHP SQL 转换为 Laravel 查询构建器 [重复]

如何将 sql 转换为查询生成器 laravel

如何将复杂的 sql 查询转换为 laravel Eloquent