ProductHot.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Models;
  3. use App\Casts\DelimiterCast;
  4. use App\Casts\HttpToHttps;
  5. use Dcat\Admin\Traits\HasDateTimeFormatter;
  6. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  7. use Illuminate\Database\Eloquent\SoftDeletes;
  8. use Illuminate\Database\Eloquent\Model;
  9. /**
  10. * App\Models\ProductHot
  11. *
  12. * @property int $id
  13. * @property int $type 1- 普通用户 2-vip客户/设计师
  14. * @property string|null $product_id 产品列表
  15. * @property int $sort 排序越大越靠前
  16. * @property int $is_opened 是否启用 0-否 1-是
  17. * @property \Illuminate\Support\Carbon|null $updated_at
  18. * @property \Illuminate\Support\Carbon|null $deleted_at
  19. * @property \Illuminate\Support\Carbon|null $created_at
  20. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot newModelQuery()
  21. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot newQuery()
  22. * @method static \Illuminate\Database\Query\Builder|ProductHot onlyTrashed()
  23. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot query()
  24. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereCreatedAt($value)
  25. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereDeletedAt($value)
  26. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereId($value)
  27. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereIsOpened($value)
  28. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereProductId($value)
  29. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereSort($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereType($value)
  31. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereUpdatedAt($value)
  32. * @method static \Illuminate\Database\Query\Builder|ProductHot withTrashed()
  33. * @method static \Illuminate\Database\Query\Builder|ProductHot withoutTrashed()
  34. * @mixin \Eloquent
  35. * @property string $cover_img 爆款图片
  36. * @property-write mixed $products
  37. * @method static \Illuminate\Database\Eloquent\Builder|ProductHot whereCoverImg($value)
  38. */
  39. class ProductHot extends Model
  40. {
  41. use HasDateTimeFormatter;
  42. use SoftDeletes;
  43. protected $table = 'product_hots';
  44. protected $casts = [
  45. 'cover_img' =>HttpToHttps::class,
  46. 'product_id' => DelimiterCast::class
  47. ];
  48. public function setProductsAttribute(array $product_ids)
  49. {
  50. $products = Product::whereIn('id', $product_ids);
  51. $this->attributes['products'] = $products;
  52. }
  53. }