【发布时间】:2016-05-24 17:33:36
【问题描述】:
我正在尝试使用 Eloqunt avg 函数。当我将列作为参数列表传递时,它可以工作;
$this->avg('column_two','column_one');
但是当我传入 $array 时,它不会;
$this->avg($array);
这是一个dd(就像那个数组的var_dump,所以你知道我在说什么;
array:6 [▼
0 => "column_0"
1 => "column_1"
2 => "column_2"
3 => "column_3"
4 => "column_4"
5 => "column_5"
]
我遇到了一个非常奇怪的错误;
ErrorException in Grammar.php line 58:
strtolower() expects parameter 1 to be string, array given
这似乎是一个基本的数组问题,但我怎样才能将该数组转换为参数列表?
我能做的最好的就是implode;
$array = implode(',', $array);
但这只会返回一个 SQL 错误;
ERROR: column "example_0,example_1" does not exist
【问题讨论】:
-
为什么不使用
$this->avg($array[2],$array[1]); -
它是动态的。我不知道数组中有多少项或列名是什么
标签: php arrays laravel eloquent