【发布时间】:2020-05-31 15:56:21
【问题描述】:
我学习了 laravel 和 php,最近我遇到了一些我试图描述的问题:
我试图呼应男性的平均年龄。我正在使用我在与 laravel 相关的论坛上找到的这个功能:
$resultMale = DB::select($maleSQL, array(1));
我的问题是它返回的数组索引取自该查询
$maleSQL = "SELECT books.name, books.book_date, AVG(reviews.age) FROM books, reviews where name='{$this->name}' and sex='m' and {$this->condition};";
如果我想访问索引为“名称”的数据,我会使用:
echo "{$resultMale[0]->name}";
但是当我尝试访问 AVG(reviews.age) 下的数据时,我的问题就开始了
echo "{$resultMale[0]->AVG(reviews.age)}";
它被检测为这个数组中的一个函数而不是一个索引。 error in laravel
我尝试过使用 foreach 循环以及:
$bypassFunctionAVG="avg(reviews.age)";
echo "{$resultMale[0]->{$bypassFunctionAVG}}";
我也尝试过重命名这个索引,但没有成功。 所以我的问题是:如何在这个索引下回显这个数组的数据?
【问题讨论】:
-
您可以在 SQL 中为列添加别名 -
AVG(reviews.age) as averageAge -
我正在寻找如何做到这一点,但我找不到答案。你能告诉我怎么做或者给一些链接吗?
-
只需在我的第一条评论中添加
as averageAge部分,然后看看你的结果。 -
我是这样使用的: echo "
{$resultMale[0]->AVG(reviews.age) as averageAge} ";仍然没有工作 -
放在SELECT语句中。