|
@@ -16,38 +16,33 @@ class LinkService implements LinkServiceInterface
|
|
*/
|
|
*/
|
|
public function getLinkList(array $data): array
|
|
public function getLinkList(array $data): array
|
|
{
|
|
{
|
|
- $where = [];
|
|
|
|
- if(isset($data['title']) && !empty($data['title'])){
|
|
|
|
- array_push($where,['link.title','like','%'.$data['title'].'%']);
|
|
|
|
- }
|
|
|
|
- if(isset($data['website_id']) && !empty($data['website_id'])){
|
|
|
|
- array_push($where,['link.website_id','=',$data['website_id']]);
|
|
|
|
- }
|
|
|
|
- $result = [];
|
|
|
|
- // return Result::success($where);
|
|
|
|
- if(!empty($where)){
|
|
|
|
- $query = Link::where($where);
|
|
|
|
- $count = $query->count();
|
|
|
|
- }else{
|
|
|
|
- $query = Link::query();
|
|
|
|
- $count = $query->count();
|
|
|
|
- }
|
|
|
|
- // 重新构建查询,避免 $query 已经被修改
|
|
|
|
- $rep = $query
|
|
|
|
- ->leftJoin("website", "website.id", "link.website_id")
|
|
|
|
- ->select("link.*", "website.website_name")
|
|
|
|
- ->limit($data['pageSize'])->offset(($data['page'] - 1) * $data['pageSize'])
|
|
|
|
- ->orderBy("link.updated_at", "desc")
|
|
|
|
- ->get();
|
|
|
|
-
|
|
|
|
- $result = [
|
|
|
|
- 'rows'=>$rep,
|
|
|
|
- 'count'=>$count
|
|
|
|
- ];
|
|
|
|
- if(empty($result)){
|
|
|
|
- return Result::error("没有查到数据");
|
|
|
|
- }
|
|
|
|
- return $result?Result::success($result):Result::error("没有查到数据");
|
|
|
|
|
|
+ $result = Link::when($data, function ($query) use ($data) {
|
|
|
|
+ if (isset($data['title']) && !empty($data['title'])) {
|
|
|
|
+ $query->where('link.title', 'like', '%' . trim($data['title']) . '%');
|
|
|
|
+ }
|
|
|
|
+ if (isset($data['website_id']) && !empty($data['website_id'])) {
|
|
|
|
+ $query->where('link.website_id', '=', $data['website_id']);
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ ->leftJoin("website","website.id","link.website_id")
|
|
|
|
+ ->select("link.*","website.website_name")
|
|
|
|
+ ->limit($data['pageSize'])
|
|
|
|
+ ->offset(($data['page']-1)*$data['pageSize'])
|
|
|
|
+ ->orderBy("link.updated_at","desc")
|
|
|
|
+ ->paginate(intval($data['pageSize']),
|
|
|
|
+ [
|
|
|
|
+ 'link.*',
|
|
|
|
+ 'website.website_name'
|
|
|
|
+ ],
|
|
|
|
+ 'page', intval($data['page']));
|
|
|
|
+ if(empty($result)){
|
|
|
|
+ return Result::error("没有查到数据");
|
|
|
|
+ }
|
|
|
|
+ $result = [
|
|
|
|
+ 'rows'=>$result->items(),
|
|
|
|
+ 'count'=>$result->total()
|
|
|
|
+ ];
|
|
|
|
+ return Result::success($result);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|