public function insert_records() { $periods = Period::all(); $accounts = RegisterAccount::all(); $peirod_num = $periods->count(); $account_num = $accounts->count(); for ($i = 0; $i < 2000; ++$i) { $record = new RegisterRecord(); $account = $accounts[rand(0, $account_num - 1)]; $period = $periods[rand(0, $peirod_num - 1)]; $dt = rand(0, 99) < 90 ? $this->get_random_datetime() : date('Y-m-d H:i:s'); $record->created_at = $dt; $record->start = date('Y-m-d H:i:s', strtotime($dt) + 3600); if (rand(0, 1)) { $record->return_date = $this->get_random_date(); } $record->status = rand(0, 1); $record->fee = 1.0; if (rand(0, 1)) { $record->advice = "abcd1234"; } $record->account_id = $account->id; $record->user_id = $account->user_id; $record->period_id = $period->id; $record->doctor_id = $period->schedule->doctor_id; $period->current += 1; $period->save(); $record->save(); $message = new Message(); $message->from_uid = $record->user_id; $message->to_uid = $record->doctor->user->id; $message->content = $record->user->real_name . '挂号'; $message->timestamp = strtotime($dt); $message->status = 3; $message->save(); } }