GoodsLog.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace app\admin\model\shopro\user;
  3. use app\admin\model\shopro\Common;
  4. use app\admin\model\shopro\goods\Goods;
  5. class GoodsLog extends Common
  6. {
  7. protected $name = 'shopro_user_goods_log';
  8. // 追加属性
  9. protected $append = [
  10. ];
  11. /**
  12. * 添加浏览记录
  13. *
  14. * @param object $user
  15. * @param object $goods
  16. * @return void
  17. */
  18. public static function addView($user, $goods)
  19. {
  20. if ($user) {
  21. $view = self::views()->where('user_id', $user->id)->where('goods_id', $goods->id)->find();
  22. if ($view) {
  23. $view->updatetime = time();
  24. $view->save();
  25. } else {
  26. $view = new self();
  27. $data = [
  28. 'goods_id' => $goods->id,
  29. 'user_id' => $user->id,
  30. 'type' => 'views'
  31. ];
  32. $view->save($data);
  33. }
  34. }
  35. // 增加商品浏览量
  36. Goods::where('id', $goods['id'])->update(['views' => \think\Db::raw('views+1')]);
  37. }
  38. public function scopeFavorite($query)
  39. {
  40. return $query->where('type', 'favorite');
  41. }
  42. public function scopeViews($query) // view 和底层方法冲突了
  43. {
  44. return $query->where('type', 'views');
  45. }
  46. public function goods()
  47. {
  48. return $this->belongsTo(Goods::class, 'goods_id');
  49. }
  50. }