private function insertOrUpdateUser($user) { $meta = []; foreach ($user as $key => $value) { if (!in_array($key, (new Lead())->getFillable())) { $meta[$key] = $value; unset($user[$key]); } } try { $lead = Lead::updateOrCreate(['source' => 'facebook', 'user_id' => $user['user_id']], $user); } catch (\PDOException $pe) { echo '<pre>'; dd($pe); } if (!empty($meta)) { foreach ($meta as $key => $value) { $this->db->table('bot_leads_meta')->updateOrCreate(['user_id' => $lead->user_id, 'meta_key' => $key], ['meta_value' => $value]); } } }