Php 表名的laravel mysql列

Php 表名的laravel mysql列,php,mysql,laravel,Php,Mysql,Laravel,我有一个laravel mysql查询来选择一个名为title的列和表名作为源 $query = DB::select('select title, "'.$table_name.'" as source from ' . $table_name); 但这会返回一个数组,我想对上面的查询执行union查询。因此,我采用了laravel DB::table() 但是上面的查询返回一个错误未知列名 SQLSTATE[42S22]:未找到列:“字段列表”中的1054未知列“tablename”(SQ

我有一个laravel mysql查询来选择一个名为title的列和表名作为源

$query = DB::select('select title, "'.$table_name.'" as source from ' . $table_name);
但这会返回一个数组,我想对上面的查询执行union查询。因此,我采用了laravel DB::table()

但是上面的查询返回一个错误未知列名

SQLSTATE[42S22]:未找到列:“字段列表”中的1054未知列“tablename”(SQL:选择
标题
“tablename”
作为
来自
tablename

我只想添加另一个名为source的字段,并将表名放在所有行中

我对许多表重复同样的操作,最后在呈现之前对它们进行排序。 请帮帮我


先谢谢你

我找到了解决办法。这对我有帮助

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

我建议像laravel Documentation所说的那样进行绑定,但在您的情况下不起作用,因为您正在尝试绑定表名,这可能会起作用$select=“select title”,.$table_name。“作为源”$表2:名称;然后DB::select($select);成功了。但仍然返回一个数组,因此无法执行联合查询。
$row = sprintf('"%s" AS source', $tablename);
$query = DB::table($tablename)->select('title', DB::raw($row));