Codeigniter 4 - 如何获取结果的第一行和最后一行
Codeigniter 4 - how to get the first row and the last row of a result
我正在尝试获取查询结果的第一行和最后一行。我从 Ci4 的文档中看到,有两种方法可以提供帮助,namley,getFirstRow([$type = 'object'])
和 getLastRow([$type = 'object'])
,但我在使用它们时遇到困难。到目前为止,这是我的方法:
function getLoginFailCount($login_fail_ip, $max_login_attempts = 3, $within_seconds = 320){
$builder = $this->builder('login_fail');
$builder->where('login_fail_ip', $login_fail_ip);
$builder->orderBy('login_fail_created_at','DESC');
$query = $builder->get(3);
print_r($query->getFirstRow($query));
}
我在 getFirstRow 中收到如下错误;
Argument 1 passed to CodeIgniter\Database\BaseResult::getFirstRow() must be
of the type string, object given
如何让 getFirstRow()
工作?这个文档定义不是说我需要给它传递一个 object
吗?为什么错误说我的类型是 string
在 getFirstRow() 的文档中,它指出您可以使用
$row = $query->getFirstRow() // which will give you an object
或
$row = $query->getFirstRow(‘array’) // which will give you an Array
所以您的错误消息指出...
Argument 1 passed to CodeIgniter\Database\BaseResult::getFirstRow()
must be of the type string, object given
会让你看着自己说,我最好去阅读文档。因此,您可以不传递任何内容,也可以传递 String 'array'.
现在你明白为什么了
$query->getFirstRow($query))
没有任何意义!为什么要传入 $query 对象作为参数。
您可能误读了文档。我看到你说 getFirstRow([$type = 'object'])
你可能对此有点困惑...
[$type = 'object'] 表示 $type 默认为字符串 'object' 所以 returned 类型默认是一个没有传递参数的对象英寸
如果你想让它return一个数组,那么你会指定字符串'array'。那么 $type 参数将被设置为字符串 'array' 和 return 数组而不是对象。
有帮助吗!
我正在尝试获取查询结果的第一行和最后一行。我从 Ci4 的文档中看到,有两种方法可以提供帮助,namley,getFirstRow([$type = 'object'])
和 getLastRow([$type = 'object'])
,但我在使用它们时遇到困难。到目前为止,这是我的方法:
function getLoginFailCount($login_fail_ip, $max_login_attempts = 3, $within_seconds = 320){
$builder = $this->builder('login_fail');
$builder->where('login_fail_ip', $login_fail_ip);
$builder->orderBy('login_fail_created_at','DESC');
$query = $builder->get(3);
print_r($query->getFirstRow($query));
}
我在 getFirstRow 中收到如下错误;
Argument 1 passed to CodeIgniter\Database\BaseResult::getFirstRow() must be
of the type string, object given
如何让 getFirstRow()
工作?这个文档定义不是说我需要给它传递一个 object
吗?为什么错误说我的类型是 string
在 getFirstRow() 的文档中,它指出您可以使用
$row = $query->getFirstRow() // which will give you an object
或
$row = $query->getFirstRow(‘array’) // which will give you an Array
所以您的错误消息指出...
Argument 1 passed to CodeIgniter\Database\BaseResult::getFirstRow()
must be of the type string, object given
会让你看着自己说,我最好去阅读文档。因此,您可以不传递任何内容,也可以传递 String 'array'.
现在你明白为什么了
$query->getFirstRow($query))
没有任何意义!为什么要传入 $query 对象作为参数。
您可能误读了文档。我看到你说 getFirstRow([$type = 'object'])
你可能对此有点困惑...
[$type = 'object'] 表示 $type 默认为字符串 'object' 所以 returned 类型默认是一个没有传递参数的对象英寸
如果你想让它return一个数组,那么你会指定字符串'array'。那么 $type 参数将被设置为字符串 'array' 和 return 数组而不是对象。
有帮助吗!