我在laravel面临一个问题。
我想在应用过滤集合后复制/克隆集合。
/* Scope function */
$plansFilterIndexes=Plans::PlansFilterFields();
$planFilters=Plans::FilterFieldsSerial($query);
/* Create Plans collection */
$PlansAll=Plans::all();
/* Plans Filter by url
* here checking $planFilter indexes IS AVALIABLE AT
* DEFINED INDEX $plansFilterIndexes
*/
$query = null;
foreach($planFilters as $eachIndexKey => $eachIndexValue):
echo $eachIndexKey.'------'.$eachIndexValue.'<br/>';
if(array_search($eachIndexKey, $plansFilterIndexes) != false):
$PlansAll = $PlansAll->where($eachIndexKey, $eachIndexValue);
endif;
endforeach;
//dd($PlansAll);
/* Clone collection into new once for copy */
$PlansAllClone =$PlansAll->replicate();
dd($PlansAllClone);
尝试使用Clone an Eloquent object including all relationships?解决方案但未获得结果
显示错误: Method replicate does not exist.
它不起作用。
问题:
为什么$ PlansAllClone = $ PlansAll-&gt; replicate();未能给出结果。 如果它不可能,请表明我将实现它。
答案 0 :(得分:0)
Replicate是一种将模型克隆到新的非现有实例中的方法,而不是用于克隆Collection。
replicate的用法如下:
$newPlansInstance = Plans::replicate();
除了可选参数外,它可以是异常数组。
你到底想要完成什么?