argument('fieldname'); if ($field = CustomField::where('db_column', $fieldname)->first()) { // If the field is not encrypted, make it encrypted and encrypt the data in the assets table for the // corresponding field. DB::transaction(function () use ($field) { if ($field->field_encrypted == 0) { $assets = Asset::whereNotNull($field->db_column)->get(); foreach ($assets as $asset) { $asset->{$field->db_column} = encrypt($asset->{$field->db_column}); $asset->save(); } $field->field_encrypted = 1; $field->save(); // This field is already encrypted. Do nothing. } else { $this->error('The custom field ' . $field->db_column.' is already encrypted. No action was taken.'); } }); // No matching column name found } else { $this->error('No matching results for unencrypted custom fields with db_column name: ' . $fieldname.'. Please check the fieldname.'); } } }