protected function createConditionsFromKeys(Model $model, $condition_keys = [], $value_keys = [])
 {
     $condition_string = \implode('_and_', $condition_keys);
     $condition_values = \array_values($model->getValuesFor($value_keys));
     // return null if all the foreign key values are null so that we don't try to do a query like "id is null"
     if (all(null, $condition_values)) {
         return null;
     }
     $conditions = SQLBuilder::createConditionsFromUnderscoredString(Table::load(\get_class($model))->conn, $condition_string, $condition_values);
     # DO NOT CHANGE THE NEXT TWO LINES. add_condition operates on a reference and will screw options array up
     if (isset($this->options['conditions'])) {
         $options_conditions = $this->options['conditions'];
     } else {
         $options_conditions = [];
     }
     return Utils::addCondition($options_conditions, $conditions);
 }