简体   繁体   English

表名的 laravel mysql 列

[英]laravel mysql column for tablename

I have a laravel mysql query to select a column named title and the table name as Source我有一个 laravel mysql 查询来选择一个名为 title 的列和表名作为源

$query = DB::select('select title, "'.$table_name.'" as source from ' . $table_name);

but this returns an array, and I want to perform union query for the above query.但这会返回一个数组,我想对上述查询执行联合查询。 So I adopted the laravel DB::table()所以我采用了laravel DB::table()

DB::table($table_name)->select('title, "'.$table_name.'" as source')

But the above query returns an error unknown column name .但是上面的查询返回一个错误unknown column name

SQLSTATE[42S22]: Column not found: 1054 Unknown column '"tablename"' in 'field list' (SQL: select title , "tablename" as source from tablename ) SQLSTATE[42S22]:未找到列:1054“字段列表”中的未知列“表名”(SQL:选择title"tablename"作为tablename source

I just want to add another field named source and put the table name in all rows.我只想添加另一个名为 source 的字段并将表名放在所有行中。

I repeat the same for number of tables and finally sort them before rendering.我对表的数量重复相同的操作,最后在渲染之前对它们进行排序。 Please help me out.请帮帮我。

Thank you in advance.先感谢您。

I found the solution.我找到了解决方案。 This post helped me.这篇文章帮助了我。

$row = sprintf('"%s" AS source', $tablename);
$query = DB::table($tablename)->select('title', DB::raw($row));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM