Абстракция базы данных Zend Framework 1: реализация ИНДЕКСА ИСПОЛЬЗОВАНИЯ / ИНДЕКСА СИЛЫ для MySQL? - PullRequest
1 голос
/ 04 мая 2020

Я пытаюсь вызвать FORCE INDEX FOR JOIN (PRIMARY) и не нашел однозначного ответа, реализовано ли это в ZF1, и решил спросить здесь: реализовано ли это и можете ли вы привести пример использования? https://github.com/zendframework/zf1/issues/489

Я пытался использовать метод, подобный этому:

$this->db->select()->forceIndex('PRIMARY')->from('somefield')->..

Но это возвращает ошибку:

Unrecognized method 'forceIndex()'

И я все еще не уверен, правильно ли я попробуйте использовать его неправильно или он вообще не был реализован.

1 Ответ

0 голосов
/ 07 мая 2020

Вы можете использовать функции join () и where () для выполнения такого рода задач:

$select = $this->select()->from(array('c' => 'cities'),array('*'));
    $select->distinct();
    $select->join(array('l' => 'cities_lang'), 'c.id=l.city_id', array());
    $select->where('l.locale_code = ?', $locale);
    $select->where('l.city_name LIKE ?', $like);
    $select->order('(l.city_name = ' . $db->quote($query) . ') DESC');
    $select->limit($perpage, ($page-1)*$perpage);

    $this->fetchAll($select);
...