php - 表名的 laravel mysql 列

标签 php mysql laravel

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

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

但是这返回一个数组,我想对上面的查询进行联合查询。所以我采用了laravel DB::table()

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

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

SQLSTATE[42S22]: Column not found: 1054 Unknown column '"tablename"' in 'field list' (SQL: select title, "tablename" as source from tablename)

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

我对表格的数量重复相同的操作,最后在渲染之前对它们进行排序。 请帮帮我。

提前致谢。

最佳答案

我找到了解决方案。这post帮助过我。

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

关于php - 表名的 laravel mysql 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50642433/

相关文章:

php - 当他不应该 :laravel 时我收到 404 错误

php - 如何从 while 循环中获取多个值以在循环外的查询中使用?

php 将工作日转换为日期

php - 显示来自 mysql 查询的部分结果

mysql - 无法破译 SQL 语句

mysql - 数据库更新后如何清除缓存?

php - 备份失败,因为 ZipArchive::close():无法打开文件:来自 spatie 的 Laravel 备份中的权限被拒绝

php - 从 php 系统调用 gnuplot 生成图?

mysql - 获得性能和执行快速 sql 查询的最佳方法?

php - 如何使用 Laravel Passport Scopes + Password Grant Type 限制用户操作