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 - 如何在此类中上传多张图片

php - 如何在文本字段内设置用户名和密码的标签?

php - 试图创建一个类似于 Facebook 的 "like"系统

mysql - MySQL 表中的阿拉伯文本?

mysql - 如何在 MySQL 中按顺序输出项目?

PHP,MySQL,将2个表合并为1个,但如果行更改值中有相同的值

laravel - 为什么 Laravel 8.x/Jetstream 邮箱验证不起作用?

javascript - 阻止鼠标在 DIV 内滚动

MySQL 选择状态数组中的位置和最后一次出现等于特定值

php - 如何在 laravel 5 更新期间验证失败后使用最新更改重新填充表单