这是我的第一个查询:
$base=DB::table('user')->select('firstname as name');
然后我想在第二个查询中访问别名列:
$base->select('name');
但是我看到错误。我可以从表用户访问所有列。是否有办法改变它,以便我可以在第二个查询中使用别名?
全部代码:
$base=DB::table('user')->select('firstname as name');
var_dump($base->get());//Everything is ok, I see the aliases
var_dump($base->select('name')->get);//I see nothing, there's no column 'name'
更多代码:
function getPerson(){
return DB::table('user')->select('firstname as name', 'age');
}
function getPet(){
return DB::table('pet')->select('petname as name', 'age');
}
function getNames($var){
return $var->select('name')->where('age', 10)->get();
}
$base = getNames(getPerson());//empty here
$base = getNames(getPet());//empty here
主要问题是我有很多不同的查询,我想把别名放在他们,然后准备数据与另一个查询图表
不能创建永久列别名。但是,您可以创建一个视图,其中将包含您希望命名的字段。然后通过模型的$table
属性将模型指向此视图作为常规表。