|
@@ -27,24 +27,23 @@ class WebsiteService implements WebsiteServiceInterface
|
|
|
*/
|
|
|
public function getWebsitetList(array $data): array
|
|
|
{
|
|
|
- $where = [];
|
|
|
- if(isset($data['keyword']) && !empty($data['keyword'])){
|
|
|
- array_push($where,['website.website_name','like','%'.$data['keyword'].'%']);
|
|
|
- }
|
|
|
- if(isset($data['website_column_id']) && !empty($data['website_column_id'])){
|
|
|
- array_push($where,['website.website_column_id','=',$data['website_column_id']]);
|
|
|
- }
|
|
|
- if(isset($data['city_id']) && !empty($data['city_id'])){
|
|
|
- array_push($where,['website.city_id','=',$data['city_id']]);
|
|
|
- }
|
|
|
-
|
|
|
- $result = Website::where($where)
|
|
|
- ->leftJoin("website_column","website.website_column_id","website_column.id")
|
|
|
- ->leftJoin("district","district.id","website.city_id")
|
|
|
- ->select("website.*","website_column.column_name","district.name as city_name")
|
|
|
- ->limit($data['pageSize'])->offset(($data['page']-1)*$data['pageSize'])->orderBy("website.id","desc")->get();
|
|
|
+ $resultWwhere = Website::when($data,function ($query) use ($data){
|
|
|
+ if(isset($data['keyword']) && !empty($data['keyword'])){
|
|
|
+ $query->where('website.website_name','like','%'.$data['keyword'].'%');
|
|
|
+ }
|
|
|
+ if(isset($data['website_column_id']) && !empty($data['website_column_id'])){
|
|
|
+ $query->whereJsonContains("website.website_column_arr_id", intval($data['website_column_id']));
|
|
|
+ }
|
|
|
+ if(isset($data['city_id']) && !empty($data['city_id'])){
|
|
|
+ $query->whereJsonContains("website.city_arr_id", intval($data['city_id']));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ $result = $resultWwhere->leftJoin("website_column","website.website_column_id","website_column.id")
|
|
|
+ ->leftJoin("district","district.id","website.city_id")
|
|
|
+ ->select("website.*","website_column.column_name","district.name as city_name")
|
|
|
+ ->limit($data['pageSize'])->offset(($data['page']-1)*$data['pageSize'])->orderBy("website.id","desc")->get();
|
|
|
|
|
|
- $count = Website::where($where)->count();
|
|
|
+ $count = $resultWwhere->count();
|
|
|
if (empty($result)) {
|
|
|
return Result::error("没有数据",0);
|
|
|
}
|