Lithium - использование find ('list') с SQL DISTINCT дает мне пустой массив - PullRequest
2 голосов
/ 14 февраля 2012

Я пытаюсь использовать опцию Lithiums list с find() вместе с DISTINCT в SQL.Я должен получить массив, заполненный значениями, вместо этого я получаю пустой массив.

Это имеет смысл, поскольку я передаю отдельные поля в виде одной строки вместо массива элементов, но я нене знаю, как еще использовать DISTINCT в литии.

Некоторые направления будут с благодарностью.Это может быть день Святого Валентина, но Литий не показывает мне слишком много любви сегодня:)

Модель:

class ZipCodes extends \app\extensions\data\Model {

    protected $_meta = array(
        'key'   => 'zip_code_id',
        'title' => 'state_name'
    );

    protected $_schema = array(
        'state_name' => array('type' => 'varchar'),
        'StateFIPS'  => array('type' => 'varchar')
        //there are more fields in my table but I haven't defined the
        //rest in my model
    );
}

Метод add в моем контроллере

public function add()
{
    $zipcodes = Zipcodes::find('list', array(
            'fields'     => array('DISTINCT state_name'),
            'order'      => 'state_name ASC',
            'conditions' => array('state_name' => array('!=' => ''))
        )
    );
    return compact('zipcodes');
}
...