protected function createConditionsFromKeys(Model $model, $conditionKeys = array(), $valueKeys = array()) { $conditionString = implode('_and_', $conditionKeys); $conditionValues = array_values($model->getValuesFor($valueKeys)); // 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, $conditionValues)) { return null; } $conditions = SQLBuilder::createConditionsFromUnderscoredString(Table::load(get_class($model))->conn, $conditionString, $conditionValues); # DO NOT CHANGE THE NEXT TWO LINES. add_condition operates on a reference and will screw options array up if (isset($this->options['conditions'])) { $optionsConditions = $this->options['conditions']; } else { $optionsConditions = array(); } return Utils::addCondition($optionsConditions, $conditions); }