|
@@ -124,41 +124,46 @@ class Base extends Model |
|
@@ -124,41 +124,46 @@ class Base extends Model |
|
124
|
$query->where($k,$v);
|
124
|
$query->where($k,$v);
|
|
125
|
continue;
|
125
|
continue;
|
|
126
|
}
|
126
|
}
|
|
127
|
- switch ($v[0]){
|
|
|
|
128
|
- case 'like':
|
|
|
|
129
|
- // like查询 ['name|title'=> ['like','%a%']]
|
|
|
|
130
|
- if (strpos($k, '|') !== false) {
|
|
|
|
131
|
- $query->where(function ($query) use ($k,$v) {
|
|
|
|
132
|
- $item = explode('|', $k);
|
|
|
|
133
|
- foreach ($item as $vo) {
|
|
|
|
134
|
- $query->orWhere($vo, $v[0], $v[1]);
|
|
|
|
135
|
- }
|
|
|
|
136
|
- });
|
|
|
|
137
|
- } else {
|
|
|
|
138
|
- $query->where($k, $v[0], $v[1]);
|
|
|
|
139
|
- }
|
|
|
|
140
|
- break;
|
|
|
|
141
|
- case 'in':
|
|
|
|
142
|
- // in查询 ['id'=>['in',[1,2,3]]]
|
|
|
|
143
|
- $query->whereIn($k, $v[1]);
|
|
|
|
144
|
- break;
|
|
|
|
145
|
- case 'no in':
|
|
|
|
146
|
- // in查询 ['id'=>['not in',[1,2,3]]]
|
|
|
|
147
|
- $query->whereNotIn($k, $v[1]);
|
|
|
|
148
|
- break;
|
|
|
|
149
|
- case 'between':
|
|
|
|
150
|
- // in查询 ['id'=>['between',[create1,create2]]]
|
|
|
|
151
|
- $query->whereBetween($k, $v[1]);
|
|
|
|
152
|
- case 'not between':
|
|
|
|
153
|
- // not between查询 ['created_at'=>['not between',['xxx', 'xxx]]]
|
|
|
|
154
|
- $query->whereNotBetween($k, $v[1]);
|
|
|
|
155
|
- break;
|
|
|
|
156
|
- default:
|
|
|
|
157
|
- $query->where($k,$v[0],$v[1]);
|
|
|
|
158
|
- break;
|
127
|
+ foreach ($v as $k1 => $v1){
|
|
|
|
128
|
+ if(!is_array($v1)){
|
|
|
|
129
|
+ $query->where($k1,$v1);
|
|
|
|
130
|
+ continue;
|
|
|
|
131
|
+ }
|
|
|
|
132
|
+ switch ($v1[0]){
|
|
|
|
133
|
+ case 'like':
|
|
|
|
134
|
+ // like查询 ['name|title'=> ['like','%a%']]
|
|
|
|
135
|
+ if (strpos($k1, '|') !== false) {
|
|
|
|
136
|
+ $query->where(function ($query) use ($k1,$v1) {
|
|
|
|
137
|
+ $item = explode('|', $k1);
|
|
|
|
138
|
+ foreach ($item as $vo) {
|
|
|
|
139
|
+ $query->orWhere($vo, $v1[0], $v1[1]);
|
|
|
|
140
|
+ }
|
|
|
|
141
|
+ });
|
|
|
|
142
|
+ } else {
|
|
|
|
143
|
+ $query->where($k1, $v1[0], $v1[1]);
|
|
|
|
144
|
+ }
|
|
|
|
145
|
+ break;
|
|
|
|
146
|
+ case 'in':
|
|
|
|
147
|
+ // in查询 ['id'=>['in',[1,2,3]]]
|
|
|
|
148
|
+ $query->whereIn($k1, $v1[1]);
|
|
|
|
149
|
+ break;
|
|
|
|
150
|
+ case 'no in':
|
|
|
|
151
|
+ // in查询 ['id'=>['not in',[1,2,3]]]
|
|
|
|
152
|
+ $query->whereNotIn($k1, $v1[1]);
|
|
|
|
153
|
+ break;
|
|
|
|
154
|
+ case 'between':
|
|
|
|
155
|
+ // in查询 ['id'=>['between',[create1,create2]]]
|
|
|
|
156
|
+ $query->whereBetween($k1, $v1[1]);
|
|
|
|
157
|
+ case 'not between':
|
|
|
|
158
|
+ // not between查询 ['created_at'=>['not between',['xxx', 'xxx]]]
|
|
|
|
159
|
+ $query->whereNotBetween($k1, $v1[1]);
|
|
|
|
160
|
+ break;
|
|
|
|
161
|
+ default:
|
|
|
|
162
|
+ $query->where($k1,$v1[0],$v1[1]);
|
|
|
|
163
|
+ break;
|
|
|
|
164
|
+ }
|
|
159
|
}
|
165
|
}
|
|
160
|
}
|
166
|
}
|
|
161
|
-
|
|
|
|
162
|
});
|
167
|
});
|
|
163
|
return $query;
|
168
|
return $query;
|
|
164
|
}
|
169
|
}
|