|
@@ -89,19 +89,19 @@ discard block |
|
|
block discarded – undo |
|
89
|
89
|
$softDelete = $this->query->getOptions('soft_delete'); |
|
90
|
90
|
|
|
91
|
91
|
if ('*' != $id) { |
|
92
|
|
- $id = $relationTable . '.' . $relation->getPk(); |
|
|
92
|
+ $id = $relationTable.'.'.$relation->getPk(); |
|
93
|
93
|
} |
|
94
|
94
|
|
|
95
|
95
|
return $this->parent->db() |
|
96
|
96
|
->alias($model) |
|
97
|
|
- ->field($model . '.*') |
|
98
|
|
- ->join($throughTable, $throughTable . '.' . $this->foreignKey . '=' . $model . '.' . $this->localKey) |
|
99
|
|
- ->join($relationTable, $relationTable . '.' . $throughKey . '=' . $throughTable . '.' . $this->throughPk) |
|
100
|
|
- ->when($softDelete, function ($query) use ($softDelete, $relationTable) { |
|
101
|
|
- $query->where($relationTable . strstr($softDelete[0], '.'), '=' == $softDelete[1][0] ? $softDelete[1][1] : null); |
|
|
97
|
+ ->field($model.'.*') |
|
|
98
|
+ ->join($throughTable, $throughTable.'.'.$this->foreignKey.'='.$model.'.'.$this->localKey) |
|
|
99
|
+ ->join($relationTable, $relationTable.'.'.$throughKey.'='.$throughTable.'.'.$this->throughPk) |
|
|
100
|
+ ->when($softDelete, function($query) use ($softDelete, $relationTable) { |
|
|
101
|
+ $query->where($relationTable.strstr($softDelete[0], '.'), '=' == $softDelete[1][0] ? $softDelete[1][1] : null); |
|
102
|
102
|
}) |
|
103
|
|
- ->group($relationTable . '.' . $this->throughKey) |
|
104
|
|
- ->having('count(' . $id . ')' . $operator . $count); |
|
|
103
|
+ ->group($relationTable.'.'.$this->throughKey) |
|
|
104
|
+ ->having('count('.$id.')'.$operator.$count); |
|
105
|
105
|
} |
|
106
|
106
|
|
|
107
|
107
|
/** |
|
@@ -128,12 +128,12 @@ discard block |
|
|
block discarded – undo |
|
128
|
128
|
|
|
129
|
129
|
return $this->parent->db() |
|
130
|
130
|
->alias($model) |
|
131
|
|
- ->join($throughTable, $throughTable . '.' . $this->foreignKey . '=' . $model . '.' . $this->localKey) |
|
132
|
|
- ->join($modelTable, $modelTable . '.' . $throughKey . '=' . $throughTable . '.' . $this->throughPk) |
|
133
|
|
- ->when($softDelete, function ($query) use ($softDelete, $modelTable) { |
|
134
|
|
- $query->where($modelTable . strstr($softDelete[0], '.'), '=' == $softDelete[1][0] ? $softDelete[1][1] : null); |
|
|
131
|
+ ->join($throughTable, $throughTable.'.'.$this->foreignKey.'='.$model.'.'.$this->localKey) |
|
|
132
|
+ ->join($modelTable, $modelTable.'.'.$throughKey.'='.$throughTable.'.'.$this->throughPk) |
|
|
133
|
+ ->when($softDelete, function($query) use ($softDelete, $modelTable) { |
|
|
134
|
+ $query->where($modelTable.strstr($softDelete[0], '.'), '=' == $softDelete[1][0] ? $softDelete[1][1] : null); |
|
135
|
135
|
}) |
|
136
|
|
- ->group($modelTable . '.' . $this->throughKey) |
|
|
136
|
+ ->group($modelTable.'.'.$this->throughKey) |
|
137
|
137
|
->where($where) |
|
138
|
138
|
->field($fields); |
|
139
|
139
|
} |
|
@@ -285,14 +285,14 @@ discard block |
|
|
block discarded – undo |
|
285
|
285
|
$modelTable = $this->parent->getTable(); |
|
286
|
286
|
|
|
287
|
287
|
if (false === strpos($field, '.')) { |
|
288
|
|
- $field = $alias . '.' . $field; |
|
|
288
|
+ $field = $alias.'.'.$field; |
|
289
|
289
|
} |
|
290
|
290
|
|
|
291
|
291
|
return $this->query |
|
292
|
292
|
->alias($alias) |
|
293
|
|
- ->join($throughTable, $throughTable . '.' . $pk . '=' . $alias . '.' . $throughKey) |
|
294
|
|
- ->join($modelTable, $modelTable . '.' . $this->localKey . '=' . $throughTable . '.' . $this->foreignKey) |
|
295
|
|
- ->where($throughTable . '.' . $this->foreignKey, $result->$localKey) |
|
|
293
|
+ ->join($throughTable, $throughTable.'.'.$pk.'='.$alias.'.'.$throughKey) |
|
|
294
|
+ ->join($modelTable, $modelTable.'.'.$this->localKey.'='.$throughTable.'.'.$this->foreignKey) |
|
|
295
|
+ ->where($throughTable.'.'.$this->foreignKey, $result->$localKey) |
|
296
|
296
|
->$aggregate($field); |
|
297
|
297
|
} |
|
298
|
298
|
|
|
@@ -321,14 +321,14 @@ discard block |
|
|
block discarded – undo |
|
321
|
321
|
$modelTable = $this->parent->getTable(); |
|
322
|
322
|
|
|
323
|
323
|
if (false === strpos($field, '.')) { |
|
324
|
|
- $field = $alias . '.' . $field; |
|
|
324
|
+ $field = $alias.'.'.$field; |
|
325
|
325
|
} |
|
326
|
326
|
|
|
327
|
327
|
return $this->query |
|
328
|
328
|
->alias($alias) |
|
329
|
|
- ->join($throughTable, $throughTable . '.' . $pk . '=' . $alias . '.' . $throughKey) |
|
330
|
|
- ->join($modelTable, $modelTable . '.' . $this->localKey . '=' . $throughTable . '.' . $this->foreignKey) |
|
331
|
|
- ->whereExp($throughTable . '.' . $this->foreignKey, '=' . $this->parent->getTable() . '.' . $this->localKey) |
|
|
329
|
+ ->join($throughTable, $throughTable.'.'.$pk.'='.$alias.'.'.$throughKey) |
|
|
330
|
+ ->join($modelTable, $modelTable.'.'.$this->localKey.'='.$throughTable.'.'.$this->foreignKey) |
|
|
331
|
+ ->whereExp($throughTable.'.'.$this->foreignKey, '='.$this->parent->getTable().'.'.$this->localKey) |
|
332
|
332
|
->fetchSql() |
|
333
|
333
|
->$aggregate($field); |
|
334
|
334
|
} |
|
@@ -351,9 +351,9 @@ discard block |
|
|
block discarded – undo |
|
351
|
351
|
$this->query |
|
352
|
352
|
->field($fields) |
|
353
|
353
|
->alias($alias) |
|
354
|
|
- ->join($throughTable, $throughTable . '.' . $pk . '=' . $alias . '.' . $throughKey) |
|
355
|
|
- ->join($modelTable, $modelTable . '.' . $this->localKey . '=' . $throughTable . '.' . $this->foreignKey) |
|
356
|
|
- ->where($throughTable . '.' . $this->foreignKey, $this->parent->{$this->localKey}); |
|
|
354
|
+ ->join($throughTable, $throughTable.'.'.$pk.'='.$alias.'.'.$throughKey) |
|
|
355
|
+ ->join($modelTable, $modelTable.'.'.$this->localKey.'='.$throughTable.'.'.$this->foreignKey) |
|
|
356
|
+ ->where($throughTable.'.'.$this->foreignKey, $this->parent->{$this->localKey}); |
|
357
|
357
|
|
|
358
|
358
|
$this->baseQuery = true; |
|
359
|
359
|
} |