我无法将函数中的变量作为变量访问:
public function fetchWhere($params) {
$resultSet = $this->select(function(Select $select) {
$select->where($params);
});
..
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Undefined variable: params
Run Code Online (Sandbox Code Playgroud)
然后,您需要use构造以使变量在函数内可用/可见:
public function fetchWhere($params) {
$resultSet = $this->select(function(Select $select) use($params) {
$select->where($params);
});
}
Run Code Online (Sandbox Code Playgroud)
您甚至可以用它传递多个变量。只需用逗号分隔其他变量,,例如... use($param1, $param2, ...) {.