将 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 文档攻略 —— Eloquent:模型对象序列化