MealcookModel.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. /**
  5. * 套餐菜单
  6. *
  7. * @author wj
  8. * @date 2022-12-07
  9. */
  10. class MealcookModel extends Model
  11. {
  12. protected $table = "t_mealcook";
  13. public function insertData($data)
  14. {
  15. if (!isset($data['createtime']) || empty($data['createtime']) || !is_string($data['createtime'])) {
  16. $data['createtime'] = date("Y-m-d H:i:s");
  17. }
  18. if (isset($data['id'])) {
  19. unset($data['id']);
  20. }
  21. $data = $this->formatData($data);
  22. if (empty($data)) {
  23. return false;
  24. }
  25. $id = $this->insertGetId($data);
  26. return $id ? $id : false;
  27. }
  28. /**
  29. * 校验入库数据
  30. * 20220119
  31. */
  32. private function formatData($data)
  33. {
  34. $useData = [];
  35. $fields = $this->getTableFields();
  36. foreach ($data as $key => $value) {
  37. if (in_array($key, $fields)) {
  38. $useData[$key] = $value;
  39. }
  40. }
  41. return $useData;
  42. }
  43. public function getInfo($where, $field = "*", $row = true)
  44. {
  45. $info = $this->field($field)->where($where);
  46. if ($row) {
  47. $info = $info->find();
  48. } else {
  49. $info = $info->select();
  50. }
  51. return empty($info) ? false : $info;
  52. }
  53. public function updateinfo($where, $updateData)
  54. {
  55. $row = $this->where($where)->update($updateData);
  56. return empty($row) ? false : $row;
  57. }
  58. public function deleteinfo($where)
  59. {
  60. $row = $this->where($where)->delete();
  61. return empty($row) ? false : $row;
  62. }
  63. public function getList($where = [], $field = "*", $page = 1, $size = 10, $order = "id desc", $group = "", $row = false)
  64. {
  65. $sqlObj = $this->where($where);
  66. if ("count" != $field) {
  67. if (empty($size)) {
  68. $sqlObj = $sqlObj->field($field)->order($order)->group($group);
  69. } else {
  70. $sqlObj = $sqlObj->field($field)->order($order)->group($group)->page($page, $size);
  71. }
  72. if ($row) {
  73. $data = $sqlObj->find();
  74. } else {
  75. $data = $sqlObj->select();
  76. }
  77. } else {
  78. $data = $sqlObj->count();
  79. }
  80. return $data;
  81. }
  82. /**
  83. * 获取列表join菜单表
  84. *
  85. * @param array $where
  86. * @param string $field
  87. * @param integer $page
  88. * @param integer $size
  89. * @param string $order
  90. * @param string $group
  91. * @param boolean $row
  92. * @return void
  93. * @author wj
  94. * @date 2022-12-07
  95. */
  96. public function getListJoinCB($where = [], $field = "*", $page = 1, $size = 10, $order = "id desc", $group = "", $row = false)
  97. {
  98. $sqlObj = $this->alias('mc')->join("t_cookbook cb", "mc.cook_id=cb.id")->where($where);
  99. if ("count" != $field) {
  100. if (empty($size)) {
  101. $sqlObj = $sqlObj->field($field)->order($order)->group($group);
  102. } else {
  103. $sqlObj = $sqlObj->field($field)->order($order)->group($group)->page($page, $size);
  104. }
  105. if ($row) {
  106. $data = $sqlObj->find();
  107. } else {
  108. $data = $sqlObj->select();
  109. }
  110. } else {
  111. $data = $sqlObj->count();
  112. }
  113. return $data;
  114. }
  115. /**
  116. * 返回当日菜单 根据中心id和套餐id
  117. *
  118. * @param [type] $center_id
  119. * @param [type] $meal_id
  120. * @return void
  121. * @author wj
  122. * @date 2022-12-02
  123. */
  124. public function getcooks($center_id, $meal_id)
  125. {
  126. $week = getweek();
  127. $where = [
  128. 'mc.center_id' => $center_id,
  129. 'mc.week' => $week,
  130. 'mc.meal_id' => $meal_id,
  131. ];
  132. $field = ['mc.meal_id', 'mc.center_id', 'mc.week', 'cb.*'];
  133. $list = $this->getListJoinCB($where, $field, 1, 0);
  134. return empty($list) ? [] : $list->toArray();
  135. }
  136. }