LifeFoodOrder.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace app\admin\model;
  3. use support\Db;
  4. use support\Model;
  5. /**
  6. * 悦活健康美食订单
  7. * Class Order
  8. * @package app\admin\model
  9. */
  10. class LifeFoodOrder extends Model
  11. {
  12. /**
  13. *
  14. * The table associated with the model.
  15. *
  16. * @var string
  17. */
  18. protected $table = 'life_healthy_order';
  19. public $timestamps = false;
  20. /**
  21. * Notes:获取订单列表
  22. * @param string $keywords
  23. * @param int $page
  24. * @param int $limit
  25. * @return array
  26. * User: ZQ
  27. * Date: 2022/10/13
  28. */
  29. public static function getOrderList(int $page, int $limit,$keywords)
  30. {
  31. $list = static::select(['life_healthy_order.*','merchant_shop.shop_name'])
  32. ->leftJoin('merchant_shop','shop_id','=','life_healthy_order.order_shop_id')
  33. ->when($keywords != '', function ($query) use ($keywords){
  34. $query->where('order_sn', 'like', '%' . $keywords . '%');
  35. })
  36. ->with(['user','Detail'])
  37. ->orderBy('order_create_time','DESC')
  38. ->forPage($page, $limit)
  39. ->get()->toArray();
  40. $count = static::when($keywords != '', function ($query) use ($keywords){
  41. $query->where('order_sn', 'like', '%' . $keywords . '%');
  42. })->count();
  43. return [$list, $count];
  44. }
  45. //关联店铺
  46. public function Shop(){
  47. return $this->belongsTo(MerchantShop::class,'order_shop_id','shop_id');
  48. }
  49. //获取用户信息
  50. public function User(){
  51. return $this->belongsTo(User::class,'order_user_id','user_id');
  52. }
  53. //获取订单详情
  54. public function Detail(){
  55. return $this->hasMany(LifeFoodOrderDetail::class,'detail_order_id','order_id')
  56. ->leftJoin('life_healthy_food','food_id','=','life_healthy_order_detail.detail_goods_id')
  57. ->select(['life_healthy_order_detail.*','life_healthy_food.food_name']);
  58. }
  59. }