我想创建一个高级搜索,如下所示:
在模型的函数中添加这些参数的正确方法是什么?
我想出了这个解决方案:
class ShopsModel extends Model {
findBy($find, $searchBy, $order, $sort, $betweenDate) {
// some MySQL query here...
}
}
修改:我在谈论变量 - findBy($find, $searchBy, $order, $sort, $betweenDate)
- 我是否需要所有这些参数或是否有替代解决方案?
答案 0 :(得分:1)
您的解决方案似乎没问题。但您也可以使用装饰器模式,因此您可以进行以下查询:
$shops = new ShopsModel();
$results = $shops->search('name', 'Tadeck')
->order_by('name', 'asc')
->between_dates('2012-02-01', '2012-03-14')
->fetch_all();
答案 1 :(得分:0)
我认为你所描述的内容应该与像knockoutjs或backbonejs这样的javascript库一起完成。
Nettuts已经介绍了knockoutjs,这里有一个演示:http://nettuts.s3.amazonaws.com/1034_ko/demo/index.html
如果你使用像Yii这样的模式,你可以谷歌搜索像这样的教程http://aiao.be/2012/01/29/knockout-js-with-the-yii-framework-hello-world-example/