1 <?php
2
3 namespace PLus\Orders\Repositories\Lists;
4
5
6
7 8 9 10 11
12 class AreaRepository extends \PLus\Orders\Repositories\Repository {
13
14
15
16 function getPairData(){
17 return $this->getTable()->select('id, name')->order('name ASC')->fetchPairs('id', 'name');
18 }
19
20 21 22 23 24 25 26
27 function getPairDataNotIn($itemorder_id) {
28 return $this->getTable()->select('id, name')->where('id NOT', $this->connection->table('area_itemorder')->select('area_id')->where('itemorder_id',$itemorder_id))
29 ->order('name ASC')->fetchPairs('id', 'name');
30 }
31
32
33 function getGridSelection(){
34 return $this->getTable()->select('id,name')->order('name ASC');
35 }
36
37
38 39 40 41 42 43
44 public function findAreaById($user_id) {
45 return $this->getTable()->select('area.id')->where(':area_user.user.id', $user_id);
46 }
47
48 49 50 51 52 53
54 public function findPairAreaById($user_id) {
55 return $this->getTable()
56 ->select('area.*')
57 ->where(':area_user.user.id', $user_id)
58 ->order('name ASC')
59 ->fetchPairs('id', 'name');
60 }
61
62
63 public function findPairAreaToItemById($itemorder_id) {
64 return $this->getTable()
65 ->select('area.*')
66 ->where(':area_itemorder.itemorder.id', $itemorder_id)
67 ->order('name ASC')
68 ->fetchPairs('id', 'name');
69 }
70
71
72 public function countAreaFromItemById($itemoreder_id) {
73 return $this->getTable()
74 ->select('COUNT :area_itemorder.area_id')
75 ->where(':area_itemorder.itemorder_id', $itemoreder_id);
76 }
77
78
79 80 81 82 83 84
85 public function getUsersArea($area_id) {
86 return $this->getTable()
87 ->select(':area_user.user.firstname,:area_user.user.lastname,:area_user.user.email')
88 ->where('area.id', $area_id)
89 ->order(':area_user.user.lastname ASC');
90 }
91
92 93 94 95 96 97
98 public function getAreasFromOrder($order_id) {
99 return $this->getTable()
100 ->select('area.id')
101 ->where(':area_itemorder.itemorder.order.id', $order_id);
102 }
103
104 105 106 107 108
109 public function getInvestmentArea() {
110 return $this->getTable()->select('id')
111 ->where('iarea', 1)
112 ->fetchAll();
113 }
114 }
115