Browse Source

增加Product Model

dev
李可松 4 years ago
parent
commit
00a51466c0
  1. 34
      app/Http/Controllers/Api/ProductController.php
  2. 27
      app/Models/Product.php

34
app/Http/Controllers/Api/ProductController.php

@ -0,0 +1,34 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\Product;
/**
* 产品列表
* Class ProductController
* @package App\Http\Controllers\Api
*/
class ProductController extends Controller
{
// 产品列表
public function index()
{
$list = Product::select(['title', 'price', 'original_price', 'pictures', 'sales'])->simplePaginate();
return $this->success($list);
}
// 人气爆款
public function hot()
{
$list = Product::get(['title', 'price', 'original_price', 'pictures', 'sales']);
return $this->success($list);
}
// 猜你喜欢
public function guessLike()
{
$list = Product::get(['title', 'price', 'original_price', 'pictures', 'sales']);
return $this->success($list);
}
}

27
app/Models/Product.php

@ -0,0 +1,27 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Product extends Model
{
use HasFactory, SoftDeletes;
protected $dateFormat = 'U';
// 获取所有产品图片
public function getPicturesAttribute($value): array
{
$pictures = $value ? json_decode($value, true) : [];
$this->append('picture');
return $pictures;
}
// 获取第一张产品图片
public function getPictureAttribute($value): string
{
return $this->pictures[0] ?? '';
}
}
Loading…
Cancel
Save