How to alias a table in Laravel Eloquent queries (or using Query Builder)?(如何在 Laravel Eloquent 查询(或使用查询生成器)中为表添加别名?)
问题描述
假设我们正在使用 Laravel 的查询构建器:
$users = DB::table('really_long_table_name')-> 选择('really_long_table_name.id')->get();
我正在寻找与此 SQL 等效的语句:
really_long_table_name AS short_name
当我必须输入大量选择和 wheres(或者通常我在选择的列别名中也包含别名,并且它在结果数组中使用)时,这将特别有用.如果没有任何表别名,我就需要打更多的字,而且一切都变得不那么可读了.在 laravel 文档中找不到答案,有什么想法吗?
解决方案Laravel 支持使用
AS
为表和列设置别名.试试$users = DB::table('really_long_table_name AS t')->select('t.id AS uid')->get();
让我们用一个很棒的
<前>$ php 工匠修补匠[1] > Schema::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'//)//)tinker
工具来看看它的作用
Lets say we are using Laravel's query builder:
$users = DB::table('really_long_table_name')
->select('really_long_table_name.id')
->get();
I'm looking for an equivalent to this SQL:
really_long_table_name AS short_name
This would be especially helpful when I have to type a lot of selects and wheres (or typically I include the alias in the column alias of the select as well, and it get's used in the result array). Without any table aliases there is a lot more typing for me and everything becomes a lot less readable. Can't find the answer in the laravel docs, any ideas?
Laravel supports aliases on tables and columns with AS
. Try
$users = DB::table('really_long_table_name AS t')
->select('t.id AS uid')
->get();
Let's see it in action with an awesome tinker
tool
$ php artisan tinker [1] > Schema::create('really_long_table_name', function($table) {$table->increments('id');}); // NULL [2] > DB::table('really_long_table_name')->insert(['id' => null]); // true [3] > DB::table('really_long_table_name AS t')->select('t.id AS uid')->get(); // array( // 0 => object(stdClass)( // 'uid' => '1' // ) // )
这篇关于如何在 Laravel Eloquent 查询(或使用查询生成器)中为表添加别名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Laravel Eloquent 查询(或使用查询生成器)中为表添加别名?
基础教程推荐
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01