我正在使用 Laravel 查询生成器来生成联合查询。我在联合中的一个查询有 3 个选择字段,联合中的其他查询有 2 个选择字段。所以我添加了一个空字段来匹配列数。 laravel 显示以下错误
Column not found: 1054 Unknown column '' in 'field list'
$i = 0;
foreach($sources as $key=>$value)
{
$db = $value['db'];
$table = $value['table'] ;
$fields = $value['fields'];
$join = DB::table($db.'.'.$table)
->whereIn($table.'.'.$table.'_sys_id',$value['values'])
->select($fields);
if($i <1)
{
$tagResultQuery = $join;
}
else{
$tagResultQuery->union($join);
}
$i++;
}
$result = $tagResultQuery->get();
最佳答案
因为您的列的名称不同。这是一个示例
SELCT
col1,
col2,
col3
FROM tbl_1
UNION
SELCT
col1,
col2,
'' as col3
FROM tbl_2
如果你不添加 ('' as col3) 将会出现像你一样的错误
关于php - Laravel 查询生成器 - 联合 - 未找到列错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38144913/