feat: optimize range results

This commit is contained in:
Jaeger 2020-03-15 13:44:22 +08:00
parent 75e436c73f
commit fc8b701ef2

View File

@ -145,7 +145,13 @@ class Query
protected function getList()
{
$data = [];
if (!empty($this->range)) {
if (empty($this->range)) {
foreach ($this->rules as $key => $reg_value){
$rule = $this->parseRule($reg_value);
$contentElements = $this->document->find($rule['selector']);
$data[$key] = $this->extractContent($contentElements, $key, $rule);
}
} else {
$rangeElements = $this->document->find($this->range);
$i = 0;
foreach ($rangeElements as $element) {
@ -156,16 +162,6 @@ class Query
}
$i++;
}
} else {
foreach ($this->rules as $key => $reg_value){
$rule = $this->parseRule($reg_value);
$contentElements = $this->document->find($rule['selector']);
$i = 0;
foreach ($contentElements as $element) {
$data[$i][$key] = $this->extractContent(pq($element), $key, $rule);
$i++;
}
}
}
return collect($data);
@ -203,7 +199,7 @@ class Query
break;
}
if($rule['handle_callback']){
if(is_callable($rule['handle_callback'])){
$content = call_user_func($rule['handle_callback'], $content, $ruleName);
}