一、关于 DB
use DB;
再使用 DB::table(database.table)->get();
二、关于 ERROR 1366 (HY000): Incorrect string value
分析:这是由于原数据库采用 gbk 编码,导致字符编码问题。
可以采用转码解决:mb_conver_encoding($string, “utf-8”, “gbk”);
三、关于时间戳转换的问题
采用 Carbon 进行处理。
四、完整示例
$baa = new baa();
ini_set('memory_limit', '2048M');
DB::select('truncate baa');
$list = DB::table('dataset')
->leftJoin('dataset_property', 'dataset_property.dataset_pk', '=', 'dataset.dataset_pk')
->get();
foreach ($list as $item) {
$row = [
'baa_id' => $item->dataset_pk,
'bca_id' => $item->tree_property_pk,
'baa001' => $item->q02,
'baa002' => null,
'baa003' => $item->q07,
'baa004' => $item->q03,
'baa005' => $item->q08 ? $item->q08 : null,
'baa006' => $item->q09 ? $item->q09 : null,
'baa007' => $item->q11 ? Carbon::createFromTimestamp($item->q11) : null,
'baa008' => $item->q10,
'baa009' => $item->q12 ? $item->q12 : null,
'baa010' => $item->q13 ? $item->q13 : null,
'created_at' => $item->q04 ? Carbon::createFromTimestamp($item->q04) : Carbon::now(),
'updated_at' => $item->q05 ? Carbon::createFromTimestamp($item->q05) : Carbon::now(),
];
$baa->create($row);
}