простой поиск в cakephp 2.0 - PullRequest
3 голосов
/ 08 февраля 2012

Я пытаюсь создать простую телефонную книгу в cakephp 2.0, которая хранит и извлекает информацию.

В настоящее время у меня есть таблица с именами контактов со следующими полями. - Имя
- Номер телефона. - Эл. адрес - Расположение

Я хотел бы интегрировать простую функцию поиска, которая перечисляет контакты, соответствующие запросу. так как это очень простое простое приложение, я хочу сделать его максимально простым.

есть предложения?

Ответы [ 5 ]

7 голосов
/ 08 февраля 2012
<?php
$keyword=$this->params->query['keyword']; //get keyword from querystring//
//used simpme or condition with singe value checking
//replace ModelName with actual name of your Appmodel
$cond=array('OR'=>array("ModelName.phone LIKE '%$keyword%'","ModelName.name LIKE '%$keyword%'", "ModelName.email LIKE '%$keyword%'")  );

$list = $this->ModelName->find('all',array('conditions')=>$cond);


?>
4 голосов
/ 08 февраля 2012

Я рекомендую использовать плагин, такой как https://github.com/dereuromark/search, чтобы он оставался сухим и простым.

это 3-строчный вкладыш, который нужно добавить к действию, и всего несколько строк конфигурации вмодель, а также небольшая форма в представлении.вот и все.

3 голосов
/ 07 июня 2013

Извините за возрождение ответа на вопрос, я решил этот бит таким же образом (вроде), и это работает с CakePHP 2.3.5

$options = array(
'conditions' => array(
    'OR' => array(
        'Listing.description LIKE' => '%'. $keyword . '%',
        'Listing.title LIKE' => '%'. $keyword . '%'
        )
    )
);
$list = $this->Listing->find('all', $options);
2 голосов
/ 08 февраля 2012

Попробуйте использовать метод find () для поисковых запросов .. для более подробной информации ... перейдите по ссылке ниже

Получение данных

0 голосов
/ 14 апреля 2018

Просто создайте простую функцию поиска и используйте массив условий для сопоставления полей поиска и используйте этот массив либо для поиска функции, либо для функции разбивки на страницы, например , поясните в этом примере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...