public function schema__alternate_name::query
3.x schema__alternate_name.inc | public schema__alternate_name::query($query, $condition) |
Overrides ChadoField::query
See also
File
- tripal_chado/
includes/ TripalFields/ schema__alternate_name/ schema__alternate_name.inc, line 106
Class
Code
public function query($query, $condition) {
$alias = $this->field['field_name'];
$operator = $condition['operator'];
$field_name = $this->field['field_name'];
$field_type = $this->field['type'];
$field_table = $this->instance['settings']['chado_table'];
$field_column = $this->instance['settings']['chado_column'];
$base_table = $this->instance['settings']['base_table'];
$schema = chado_get_schema($field_table);
$pkey = $schema['primary key'][0];
$fkey_lcolumn = key($schema['foreign keys'][$base_table]['columns']);
$fkey_rcolumn = $schema['foreign keys'][$base_table]['columns'][$fkey_lcolumn];
$this->queryJoinOnce($query, $field_table, $alias, "base.$fkey_rcolumn = $alias.$fkey_lcolumn");
$this->queryJoinOnce($query, 'synonym', $alias . '_SYN', $alias . "_SYN.synonym_id = $alias.synonym_id");
$query->condition($alias . "_SYN.name", $condition['value']);
}