50
51
if (isset($condition)) {
51
52
$query = implode(NL, array(
52
"SELECT {$db->le}entity{$db->re}.{$db->le}id{$db->re}, {$db->le}entity{$db->re}.{$db->le}description{$db->re}, {$db->le}entity{$db->re}.{$db->le}entity_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}name{$db->re}, {$db->le}business{$db->re}.{$db->le}abbreviation{$db->re}, {$db->le}business{$db->re}.{$db->le}business_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}updated_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}mdate{$db->re}, {$db->le}business{$db->re}.{$db->le}cdate{$db->re}, {$db->le}business{$db->re}.{$db->le}deleted{$db->re}",
53
"SELECT {$db->le}entity{$db->re}.{$db->le}id{$db->re}, {$db->le}entity{$db->re}.{$db->le}description{$db->re}, {$db->le}entity{$db->re}.{$db->le}entity_type_id{$db->re}, {$db->le}entity{$db->re}.{$db->le}created_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}name{$db->re}, {$db->le}business{$db->re}.{$db->le}abbreviation{$db->re}, {$db->le}business{$db->re}.{$db->le}business_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}updated_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}mdate{$db->re}, {$db->le}business{$db->re}.{$db->le}cdate{$db->re}, {$db->le}business{$db->re}.{$db->le}deleted{$db->re}",
53
54
"FROM {$db->le}business{$db->re}",
54
55
"INNER JOIN {$db->le}entity{$db->re} ON {$db->le}business{$db->re}.{$db->le}entity_id{$db->re}={$db->le}entity{$db->re}.{$db->le}id{$db->re} AND {$condition}"
99
103
$condition .= " AND ({$db->le}business{$db->re}.{$db->le}tdate{$db->re} IS NOT NULL AND {$db->le}business{$db->re}.{$db->le}fdate{$db->re}<={$db->queryValue($date)} AND {$db->queryValue($date)}<={$db->le}business{$db->re}.{$db->le}tdate{$db->re}) ";
100
104
$condition .= " AND ({$db->le}entity{$db->re}.{$db->le}tdate{$db->re} IS NOT NULL AND {$db->le}entity{$db->re}.{$db->le}fdate{$db->re}<={$db->queryValue($date)} AND {$db->queryValue($date)}<={$db->le}entity{$db->re}.{$db->le}tdate{$db->re}) ";
101
105
$query = implode(NL, array(
102
"SELECT {$db->le}business{$db->re}.{$db->le}log_sequence{$db->re}, {$db->le}business{$db->re}.{$db->le}fdate{$db->re}, {$db->le}business{$db->re}.{$db->le}tdate{$db->re}, {$db->le}entity{$db->re}.{$db->le}id{$db->re}, {$db->le}entity{$db->re}.{$db->le}description{$db->re}, {$db->le}entity{$db->re}.{$db->le}entity_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}name{$db->re}, {$db->le}business{$db->re}.{$db->le}abbreviation{$db->re}, {$db->le}business{$db->re}.{$db->le}business_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}updated_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}mdate{$db->re}, {$db->le}business{$db->re}.{$db->le}cdate{$db->re}, {$db->le}business{$db->re}.{$db->le}deleted{$db->re}",
106
"SELECT {$db->le}business{$db->re}.{$db->le}log_sequence{$db->re}, {$db->le}business{$db->re}.{$db->le}fdate{$db->re}, {$db->le}business{$db->re}.{$db->le}tdate{$db->re}, {$db->le}entity{$db->re}.{$db->le}id{$db->re}, {$db->le}entity{$db->re}.{$db->le}description{$db->re}, {$db->le}entity{$db->re}.{$db->le}entity_type_id{$db->re}, {$db->le}entity{$db->re}.{$db->le}created_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}name{$db->re}, {$db->le}business{$db->re}.{$db->le}abbreviation{$db->re}, {$db->le}business{$db->re}.{$db->le}business_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}updated_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}mdate{$db->re}, {$db->le}business{$db->re}.{$db->le}cdate{$db->re}, {$db->le}business{$db->re}.{$db->le}deleted{$db->re}",
103
107
"FROM {$db->le}business{$db->re}",
104
108
"INNER JOIN {$db->le}entity{$db->re} ON {$db->le}business{$db->re}.{$db->le}entity_id{$db->re}={$db->le}entity{$db->re}.{$db->le}id{$db->re} AND {$condition}"
111
$query .= "ORDER BY {$db->le}business{$db->re}.log_sequence desc limit 1";
107
112
$db->query($query);
109
114
if ($db->getRecord() && $db->getNumRows()===1) {
252
260
protected function log() {
253
261
if (isset($this->_snapshot)) {return false;}
254
263
$db = Database::getInstance();
255
264
$database = $db->getDatabase();
265
$record = Business::select($db->encapsulate("business") . ".mdate as fdate,null as tdate,{$db->encapsulate("business")}.*",null,$db->encapsulate("business").".entity_id={$this->id}")->first();
256
266
$log = "{$database}_log";
257
$db->changeDatabase($log);
267
$dbLog = Database::getInstance(null,null,null,null,$log);
268
foreach($record as $k=>$v){
270
$record[$k] = $dbLog->queryValue($v);
273
$insertColumns = $dbLog->le.implode("{$dbLog->le},{$dbLog->re}",array_keys($record)).$dbLog->re;
274
$insertValues = implode(",",$record);
258
275
$query = implode(NL, array(
259
"INSERT INTO {$db->le}{$log}{$db->re}.{$db->le}business{$db->re} (",
262
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}mdate{$db->re},",
264
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}_id{$db->re},",
265
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}entity_id{$db->re},",
266
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}name{$db->re},",
267
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}abbreviation{$db->re},",
268
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}business_type_id{$db->re},",
269
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}updated_by_id{$db->re},",
270
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}mdate{$db->re},",
271
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}cdate{$db->re},",
272
" {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}deleted{$db->re}",
273
"FROM {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}",
274
"WHERE {$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}entity_id{$db->re}={$db->queryValue($this->id)}",
276
"INSERT INTO {$dbLog->le}business{$dbLog->re} (",
277
$status = $db->query($query);
279
$logSequence = $db->getInsertedId();
281
$query = implode(NL, array(
282
"SELECT {$db->le}log_sequence{$db->re}",
283
"FROM {$db->le}business{$db->re}",
284
"WHERE {$db->le}business{$db->re}.{$db->le}entity_id{$db->re}={$db->queryValue($this->id)}",
285
" AND {$db->le}log_sequence{$db->re}<'{$logSequence}'",
286
"ORDER BY {$db->le}log_sequence{$db->re} DESC",
291
if ($db->getRecord()) {
292
$updateSequence = (int)$db->record["log_sequence"];
282
$status = $dbLog->query($query);
284
$logSequence = $dbLog->getInsertedId();
293
287
$query = implode(NL, array(
294
"UPDATE {$db->le}{$log}{$db->re}.{$db->le}business{$db->re}",
295
"INNER JOIN {$db->le}{$database}{$db->re}.{$db->le}business{$db->re} ON {$db->le}{$log}{$db->re}.{$db->le}business{$db->re}.{$db->le}entity_id{$db->re}={$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}entity_id{$db->re}",
296
" AND {$db->le}{$log}{$db->re}.{$db->le}business{$db->re}.{$db->le}log_sequence{$db->re}={$db->queryValue($updateSequence)}",
297
"SET {$db->le}{$log}{$db->re}.{$db->le}business{$db->re}.{$db->le}tdate{$db->re}={$db->le}{$database}{$db->re}.{$db->le}business{$db->re}.{$db->le}mdate{$db->re}"
288
"SELECT {$dbLog->le}log_sequence{$dbLog->re}",
289
"FROM {$dbLog->le}business{$dbLog->re}",
290
"WHERE {$dbLog->le}business{$dbLog->re}.{$dbLog->le}entity_id{$dbLog->re}={$this->id}",
291
" AND {$dbLog->le}log_sequence{$dbLog->re}<{$logSequence}",
292
"ORDER BY {$dbLog->le}log_sequence{$dbLog->re} DESC",
293
$dbLog::limitOffsetString(1,0)
295
$dbLog->query($query);
297
if ($dbLog->getRecord()) {
298
$updateSequence = (int)$dbLog->record["log_sequence"];
299
$query = implode(NL, array(
300
"UPDATE {$dbLog->le}business{$dbLog->re}",
301
"SET {$dbLog->le}tdate{$dbLog->re}={$record["mdate"]}",
302
"where log_sequence={$updateSequence}"
304
$dbLog->query($query);
301
307
$db->changeDatabase($database);
372
378
public static function objects($order=null, $where=null, $limit=null, $offset=0) {
373
379
$db = Database::getInstance();
374
380
$objects = array();
375
foreach (Business::select("{$db->le}entity{$db->re}.{$db->le}id{$db->re}, {$db->le}entity{$db->re}.{$db->le}description{$db->re}, {$db->le}entity{$db->re}.{$db->le}entity_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}name{$db->re}, {$db->le}business{$db->re}.{$db->le}abbreviation{$db->re}, {$db->le}business{$db->re}.{$db->le}business_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}updated_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}mdate{$db->re}, {$db->le}business{$db->re}.{$db->le}cdate{$db->re}, {$db->le}business{$db->re}.{$db->le}deleted{$db->re}", $order, $where, $limit, $offset) as $record) {
381
foreach (Business::select("{$db->le}entity{$db->re}.{$db->le}id{$db->re}, {$db->le}entity{$db->re}.{$db->le}description{$db->re}, {$db->le}entity{$db->re}.{$db->le}entity_type_id{$db->re}, {$db->le}entity{$db->re}.{$db->le}created_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}name{$db->re}, {$db->le}business{$db->re}.{$db->le}abbreviation{$db->re}, {$db->le}business{$db->re}.{$db->le}business_type_id{$db->re}, {$db->le}business{$db->re}.{$db->le}updated_by_id{$db->re}, {$db->le}business{$db->re}.{$db->le}mdate{$db->re}, {$db->le}business{$db->re}.{$db->le}cdate{$db->re}, {$db->le}business{$db->re}.{$db->le}deleted{$db->re}", $order, $where, $limit, $offset) as $record) {
376
382
$object = new Business();
377
383
$object->id = $record["id"];
378
384
$object->description = $record["description"];
379
385
$object->entityTypeId = $record["entity_type_id"];
386
$object->createdById = $record["created_by_id"];
380
387
$object->name = $record["name"];
381
388
$object->abbreviation = $record["abbreviation"];
382
389
$object->businessTypeId = $record["business_type_id"];