我正在使用Laravel查询生成器来生成联合查询。我在联合中的一个查询有3个选择字段,在联合中的其他查询有2个选择字段。所以我添加了一个空字段以匹配列数。 laravel说以下错误
找不到列:“字段列表”中的1054未知列”
$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
如果您不添加(''作为col3)将像您一样错误
关于php - Laravel查询生成器-联合-找不到列错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38144913/