Вопрос

Я хочу создать предварительный поиск, что -то вроде этого:

  • Текстовое поле: найти
  • Выпадающая часть: Поиск по: Имя, местоположение или телефон
  • Выпадающий в сторону: заказ от ASC или DEC
  • Выпадающая часть: сортируйте по имени, местоположению или телефону
  • Выпадающая часть: поиск между датами (если выбрано)

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

Я придумал это решение:

class ShopsModel extends Model {

  findBy($find, $searchBy, $order, $sort, $betweenDate) {
   // some MySQL query here...
  }

}

Редактировать: Я говорю о переменных - findBy($find, $searchBy, $order, $sort, $betweenDate) - Нужны ли мне все эти параметры или есть альтернативное решение?

Это было полезно?

Решение

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

$shops = new ShopsModel();
$results = $shops->search('name', 'Tadeck')
    ->order_by('name', 'asc')
    ->between_dates('2012-02-01', '2012-03-14')
    ->fetch_all();

Другие советы

Я думаю, что то, что вы описываете, должно быть сделано в сочетании с библиотекой JavaScript, такой как NockoutJS или BackboneJS.

NetTuts покрыл nockoutjs, и здесь доступна демонстрация: http://nettuts.s3.amazonaws.com/1034_ko/demo/index.html

Если вы используете такой шаблон, как YII, вы можете Google для учебников, подобных этой http://aiao.be/2012/01/29/knockout-js-with-the-yii-framework-hello-world-example/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top