gpt4 book ai didi

php - 查询构建器对象在以前构建的对象中看不到别名 (Laravel)

转载 作者:可可西里 更新时间:2023-11-01 08:28:39 26 4
gpt4 key购买 nike

这是我的第一个查询:

$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

主要问题是我有很多不同的查询,我想给它们加上别名,然后用另一个查询为图表准备数据

最佳答案

您不能创建永久的列别名。但是,您可以创建一个 view ,其中将包含您希望命名的字段。然后通过 $table 将您的模型作为常规表指向此 View 模型的属性。

关于php - 查询构建器对象在以前构建的对象中看不到别名 (Laravel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32439037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com