Предварительный поиск в модели (MVC)
-
27-10-2019 - |
Вопрос
Я хочу создать предварительный поиск, что -то вроде этого:
- Текстовое поле: найти
- Выпадающая часть: Поиск по: Имя, местоположение или телефон
- Выпадающий в сторону: заказ от 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/