一尘不染

如何在Laravel口才查询中为表加上别名(或使用查询生成器)?

php

可以说我们正在使用Laravel的查询生成器:

$users = DB::table('really_long_table_name')
           ->select('really_long_table_name.id')
           ->get();

我正在寻找等效于此SQL:

really_long_table_name AS short_name

当我必须在很多选择和位置输入很多内容时(或通常在选择的列别名中也包含别名,并且在结果数组中使用别名时),这将特别有用。没有任何表别名,我需要输入更多的内容,并且所有内容的可读性也大大降低。在laravel文档中找不到答案,有什么想法吗?


阅读 904

收藏
2020-05-29

共1个答案

一尘不染

Laravel使用来支持表和列的别名AS。尝试

$users = DB::table('really_long_table_name AS t')
           ->select('t.id AS uid')
           ->get();

让我们看看它的强大tinker工具

$ PHP工匠修补匠
[1]>模式:: create('really_long_table_name',function($ table){$ table-> increments('id');});
// 空值
[2]> DB :: table('really_long_table_name')-> insert(['id'=> null]);
//正确
[3]> DB :: table('really_long_table_name AS t')-> select('t.id AS uid')-> get();
//数组(
// 0 => object(stdClass)(
//'uid'=>'1'
//)
//)
2020-05-29