|
@@ -16,27 +16,33 @@ class LinkService implements LinkServiceInterface
|
|
|
*/
|
|
|
public function getLinkList(array $data): array
|
|
|
{
|
|
|
- $where = [];
|
|
|
- if(isset($data['keyWord'])){
|
|
|
- $where = [
|
|
|
- ['link.title','like','%'.$data['keyWord'].'%']
|
|
|
- ];
|
|
|
- }
|
|
|
- $result = [];
|
|
|
- if(isset($data['pageSize'])){
|
|
|
- $rep = Link::where($where)
|
|
|
+ $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")->get();
|
|
|
- $count = Link::where($where)->count();
|
|
|
+ ->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'=>$rep,
|
|
|
- 'count'=>$count
|
|
|
+ 'rows'=>$result->items(),
|
|
|
+ 'count'=>$result->total()
|
|
|
];
|
|
|
- }else{
|
|
|
- $result = Link::where($data)->orderBy("sort","asc")->get();
|
|
|
- }
|
|
|
- return $result?Result::success($result):Result::error("没有查到数据");
|
|
|
+ return Result::success($result);
|
|
|
}
|
|
|
|
|
|
/**
|