protected function create_conditions_from_keys(Model $model, $condition_keys = array(), $value_keys = array()) { $condition_string = implode('_and_', $condition_keys); $condition_values = array_values($model->get_values_for($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::create_conditions_from_underscored_string($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 = array(); } return Utils::add_condition($options_conditions, $conditions); }