Browse Source

优化list()写法

develop
李可松 5 years ago
parent
commit
9d616f73dc
  1. 11
      app/Http/Controllers/Api/AgentProductController.php
  2. 2
      app/Http/Controllers/Api/ChannelController.php
  3. 2
      app/Http/Controllers/Api/IndexController.php
  4. 3
      app/Http/Controllers/Api/SpecialController.php
  5. 4
      app/Models/AgentProduct.php

11
app/Http/Controllers/Api/AgentProductController.php

@ -19,13 +19,12 @@ class AgentProductController extends Controller
public function index()
{
$category_id = request()->input('category_id');
$where = [];
if ($category_id) {
$where['category_id'] = $category_id;
}
$where['agent_id'] = $this->agent_id;
$list = AgentProduct::list()->where($where)->orderBy('id', 'DESC')->simplePaginate();
$list = AgentProduct::list($this->agent_id)->where($where)->orderBy('id', 'DESC')->simplePaginate();
$list = $this->paginatePicAddHost($list);
$list = $this->insertAd($list);
@ -70,7 +69,7 @@ class AgentProductController extends Controller
// 猜你喜欢
public function guessLike()
{
$list = AgentProduct::list()->where('agent_id', $this->agent_id)->orderBy('id', 'DESC')->simplePaginate();
$list = AgentProduct::list($this->agent_id)->orderBy('id', 'DESC')->simplePaginate();
$list = $this->paginatePicAddHost($list);
$list = $list->toArray();
if (!empty($list['data']) && is_array($list['data'])) {
@ -84,7 +83,7 @@ class AgentProductController extends Controller
//【我的】页面下方推荐
public function recommendList()
{
$list = AgentProduct::list()->where(['agent_id' => $this->agent_id, 'is_rec' => 1])
$list = AgentProduct::list($this->agent_id)->where(['is_rec' => 1])
->orderBy('id', 'DESC')->simplePaginate();
$list = $this->paginatePicAddHost($list);
$list = $this->insertAd($list);
@ -95,7 +94,7 @@ class AgentProductController extends Controller
//人气爆款列表,销量排序
public function hotList()
{
$list = AgentProduct::list()->where('agent_id', $this->agent_id)->orderBy('id', 'DESC')->simplePaginate();
$list = AgentProduct::list($this->agent_id)->orderBy('id', 'DESC')->simplePaginate();
$list = $this->paginatePicAddHost($list);
$list = $this->insertAd($list);

2
app/Http/Controllers/Api/ChannelController.php

@ -42,7 +42,7 @@ class ChannelController extends Controller
{
$channel_id = (int)request()->input('channel_id');
$list = AgentProduct::list()->where('agent_id', $this->agent_id)
$list = AgentProduct::list($this->agent_id)
->whereRaw("FIND_IN_SET($channel_id, `channel_id`)")
->orderBy('id', 'DESC')
->simplePaginate();

2
app/Http/Controllers/Api/IndexController.php

@ -82,7 +82,7 @@ class IndexController extends Controller
}
# 人气爆款
$hots = AgentProduct::list()->where('agent_id', $this->agent_id)
$hots = AgentProduct::list($this->agent_id)
->orderBy('sale', 'desc')->orderBy('id', 'desc')
->limit(6)->get();
if (!$hots->isEmpty()) {

3
app/Http/Controllers/Api/SpecialController.php

@ -19,8 +19,7 @@ class SpecialController extends Controller
->find($id);
$detail->picture = array_map(fn($v) => $prefix . $v, $detail->picture);
$detail->product = AgentProduct::list()
->where('agent_id', $this->agent_id)
$detail->product = AgentProduct::list($this->agent_id)
->whereIn('id', $detail->agent_product_id)
->orderBy('id', 'DESC')->limit(6)->get();
foreach ($detail->product as $k => &$v) {

4
app/Models/AgentProduct.php

@ -90,12 +90,12 @@ class AgentProduct extends BaseModel
}
//列表查询统一查询条件
public function scopeList($query)
public function scopeList($query, $agent_id)
{
return $query->whereHas('product', function ($query) {
return $query->where('status', ProductStatus::ON_SALE)->where('stock', '>', 0);
})
->where('status', ProductStatus::ON_SALE)->where('stock', '>', 0)
->where(['agent_id' => $agent_id, 'status' => ProductStatus::ON_SALE])->where('stock', '>', 0)
->select('id', 'sale', 'product_id', 'price', 'original_price', 'title', 'pictures');
}
}
Loading…
Cancel
Save