根据CakePHP中字段数据的第一个字母获取结果

时间:2011-05-19 17:27:54

标签: php sql regex cakephp alphabetical

我正在尝试创建一个页面,用户可以在我的案例相册中搜索特定模型的所有记录。在我使用的视图中:

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

打印出字母表中的每个字母后跟一个' - '(有人可以告诉我如何在最后一个字母后面没有' - ')。用户单击一个字母并传递给letter_find操作,并将相应的字母作为变量传递。

这是我被卡住的地方。我不完全确定我是如何找到以所选字母开头的所有专辑。就像我在标题中所说的那样,我是一个完整的新星。这可能是非常简单的事情吗?

提前感谢:)

3 个答案:

答案 0 :(得分:2)

foreach ( range( 'a', 'z' ) as $l ) {
    $links[] = $html->link($l, array('action' => 'letter_find', $l));
}

echo implode( ' - ', $links );

答案 1 :(得分:1)

'Model.field LIKE'。 $ letter。 '%'是您在查找中的条件

修改

你可能也喜欢这个

找到可用的字母 - 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

答案 2 :(得分:0)

我认为应该这样做,它会将$ results作为数组返回:

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