00001 <?php
00002
00003
00004
00005
00006
00007
00008 class DBWhereGroup implements IDBWhere, IDBWhereHolder {
00009 protected $where_clauses = array();
00010 protected $logical_operator;
00011
00012
00013
00014
00015
00016 protected $table;
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 public function __construct(IDBTable $table, $logical_operator = IDBWhere::LOGIC_AND) {
00028 $this->table = $table;
00029 $this->logical_operator = $logical_operator;
00030 }
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055 public function add_where($column, $operator = null, $value = null, $mode = IDBWhere::LOGIC_AND) {
00056 $ret = new DBWhere($this->table, $column, $operator, $value, $mode);
00057 $this->where_clauses[] = $ret;
00058 return $ret;
00059 }
00060
00061
00062
00063
00064 public function add_where_object(IDBWhere $where) {
00065 $this->where_clauses[] = $where;
00066 }
00067
00068
00069
00070
00071
00072
00073 public function get_wheres() {
00074 return $this;
00075 }
00076
00077
00078
00079
00080
00081
00082 public function count() {
00083 return count($this->where_clauses);
00084 }
00085
00086
00087
00088
00089
00090
00091 public function get_children() {
00092 return $this->where_clauses;
00093 }
00094
00095
00096
00097
00098
00099
00100 public function get_sql() {
00101 $builder = DBSqlBuilderFactory::create_builder(DBSqlBuilderFactory::WHEREGROUP, $this);
00102 return $builder->get_sql();
00103 }
00104
00105
00106
00107
00108
00109
00110
00111 public function get_table() {
00112 return $this->table;
00113 }
00114
00115
00116
00117
00118
00119
00120 public function get_column() {
00121
00122 }
00123
00124
00125
00126
00127
00128
00129 public function get_operator() {
00130 return null;
00131 }
00132
00133
00134
00135
00136
00137
00138 public function get_value() {
00139 return null;
00140 }
00141
00142
00143
00144
00145
00146
00147 public function get_logical_operator() {
00148 return $this->logical_operator;
00149 }
00150
00151 }