这是dd($followers)
:
LengthAwarePaginator {#401 ▼
#total: 144
#lastPage: 8
#items: Collection {#402 ▼
#items: array:18 [▶]
}
#perPage: 20
#currentPage: 1
#path: "http://myurl.com/SocialCenter/public/twitterprofile/JZarif"
#query: []
#fragment: null
#pageName: "page"
}
现在我想知道,我该如何覆盖#total
?我的意思是我想将它重新初始化为18
。所以这是预期的结果:
LengthAwarePaginator {#401 ▼
#total: 18
#lastPage: 8
#items: Collection {#402 ▼
#items: array:18 [▶]
}
#perPage: 20
#currentPage: 1
#path: "http://myurl.com/SocialCenter/public/twitterprofile/JZarif"
#query: []
#fragment: null
#pageName: "page"
}
这样做可能吗?
注意到这些都不起作用:
$followers->total = 18;
$followers['total'] = 18;
答案 0 :(得分:1)
你可以使用反射:
$reflection = new \ReflectionObject($followers);
$property = $reflection->getProperty('total');
$property->setAccessible(true);
$property->setValue(
$followers,
18
);
供参考,见:
答案 1 :(得分:0)
你应该制作一个getter和setter函数。
但您可以使用PHP-Reflections。像这个例子:
<?php
class LengthAwarePaginator
{
private $total = true;
}
$class = new ReflectionClass("LengthAwarePaginator");
$total = $class->getProperty('total');
$total->setAccessible(true);
$total->setValue(18);