最近要导入一下数据,要把一个我的项目的局部数据导入到另一个我的项目中
采纳 laravel 的 chunkById 段落查询方法,一次查问 2K,而后批量入库,因为这个表没啥改变,能够间接查问后导入
遇到的问题是,查问后的数据属性是一个数组,要手动组装下能力间接入库,字段有点多,试想能不能间接拿到这个属性数据而后丢到数组里间接入库
查问出的数据是这样
是公有属性
间接 (array)$value 后是这样
那么间接
$arrTemp[‘x00*x00attributes’] 应该就能够,试了下的确行
封装下:
public function getProtectedValue($obj, $name) {$array = (array)$obj;
$prefix = chr(0).'*'.chr(0);
return $array[$prefix.$name];
}
截图中 x00 对应的 ASCII 码为 0,用 chr 将 0 的 ASCII 码转换为字符串,即 chr(0)对应 ASCII 码为 x00,而后拼接下 * 就 OK
调整后的代码为
$arrTemp = $this->getProtectedValue($value, 'attributes');