Laravel 和 MySql 查询行为

Posted

技术标签:

【中文标题】Laravel 和 MySql 查询行为【英文标题】:Laravel and MySql Query Behavior 【发布时间】:2021-04-16 01:44:08 【问题描述】:

我有这个问题:

( 
  SELECT a.*, b.* FROM tbl_1 
  LEFT JOIN tbl_2...
)
 UNION ALL
(
  SELECT c.*,c.* FROM tbl_2 
)

tbl1 和 tbl2 都包含相同的列(每列 50 个)名称..

所以,当我在 mysql Workbench 中运行这个查询时,我得到了 100 列,但是:

DB::select ( the query above )

我得到 50.. 重复的列在 Laravel 级别被删除..

为什么会这样?

谢谢你..

【问题讨论】:

您的代码引用了不存在的表别名。查询将不起作用。 哦..查询工作..这里的代码是一个示例..只是为了保持简短和重点 【参考方案1】:

我怀疑问题在于列具有相同的名称。

这是模棱两可的,因此将它们删除也就不足为奇了。

除了为唯一的列提供新名称之外,您无能为力:

select a.*, b.col1 as b_col1, b.col2 as b_col2, . . .

【讨论】:

以上是关于Laravel 和 MySql 查询行为的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 数据库插入,查询操作

Larave中CSRF攻击

我想自学laraver,请诸位前辈给一些建议,谢谢

larave学习笔记1-安装配置

有关 JSON、cURL 和 laravel 的参考文档

laraver框架学习------工厂模型填充测试数据