$goods
=
Good
::
select
(
'id'
,
'title'
,
'price'
,
'cover'
,
'category_id'
,
'sales'
,
'updated_at'
)
->
where
(
'is_on'
,
1
)
->
when
(
$title
, function (
$query
)
use
($
title
) {
$
query
->
where
('
title
','
like
',"%{$
title
}%");
->
when
(
$category_id
, function (
$query
)
use
($
category_id
) {
$
query
->
where
('
category_id
',$
category_id
);
->
when
(
$sales
==
1
, function (
$query
)
use
($
sales
) {
$
query
->
orderBy
('
sales
', '
desc
');
->
when
(
$price
==
1
, function (
$query
)
use
($
price
) {
$
query
->
orderBy
('
price
', '
desc
');
->
withCount
(
'comments'
)
->
when
(
$comments_count
==
1
, function (
$query
)
use
($
comments_count
) {
$
query
->
orderBy
('
comments_count
', '
desc
');
->
orderBy
(
'updated_at'
,
'desc'
)
->
simplePaginate
(
20
);
$recommend_goods
=
Good
::
select
(
'id'
,
'title'
,
'price'
,
'cover'
)
->
where
(
'is_on'
,
1
)
->
where
(
'is_recommend'
,
1
)
->
withCount
(
'comments'
)
->
inRandomOrder
()
->
take
(
10
)
->
get
();
$categories
=
cache_category
();
return
$this
->response->
array
([
'goods'
=>
$goods
,
'recommend_goods'
=>
$recommend_goods
,
'categories'
=>
$categories
,
我们可以看到商品列表的搜索条件是比较多的:
1、标题搜索条件
2、分类搜索条件
3、销量排序搜索条件
4、价格排序搜索条件
5、评论排序搜索条件
默认就以商品更新日期排序。
1.3 测试效果
1、以标题搜索条件
2、分类搜索条件
3、销量排序搜索条件
4、价格排序搜索条件
5、评论排序搜索条件
可以看到测试都行,甚至几个条件都可以一起写。
在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。
你华还是你华
全栈开发工程师
75.8k
粉丝