Получите результаты, основанные на первой букве данных поля в CakePHP - PullRequest
0 голосов
/ 19 мая 2011

Я пытаюсь создать страницу, где пользователи могут искать по всем записям конкретной модели, в моих альбомах дел. В представлении я использую:

    for ($i = 65; $i < 90; $i++) { 
        echo $html->link(chr($i), array('action' => 'letter_find', chr($i))) , ' - '; 
    }

чтобы распечатать каждую букву алфавита, за которой следует '-' (может кто-нибудь сказать мне, как не иметь '-' после последней буквы?). Пользователь нажимает на букву и передается действию letter_find с соответствующей буквой, передаваемой в качестве переменной.

Вот где я застреваю. Я не совсем уверен, как мне найти все альбомы, начиная с выбранной буквы. Как я уже сказал в названии, я полный neub. Возможно, это что-то очень простое?

спасибо заранее:)

Ответы [ 3 ]

2 голосов
/ 19 мая 2011
foreach ( range( 'a', 'z' ) as $l ) {
    $links[] = $html->link($l, array('action' => 'letter_find', $l));
}

echo implode( ' - ', $links );
1 голос
/ 19 мая 2011

'Model.field LIKE'.$ письмо.«%» - это условие, которое вы вводите в свою находку

РЕДАКТИРОВАТЬ

Вам также может понравиться это

поиск доступных букв - https://github.com/infinitas/infinitas/blob/beta/core/libs/models/behaviors/infinitas.php#L525

показатьсписок доступных писем - https://github.com/infinitas/infinitas/blob/beta/core/filter/views/helpers/filter.php#L140

0 голосов
/ 19 мая 2011

Я думаю, что это должно сделать это, и он вернет $ results в виде массива:

$results = $this->model->find('all',array('conditions'=>array('model.field LIKE'=>$letter.'%')));
...