First steps to fix the softdelete issue

This commit is contained in:
ahwelp
2023-01-24 13:33:59 +00:00
parent 2bfd6ec104
commit 94793fa252
+11 -1
View File
@@ -11,8 +11,9 @@ class BelongsToManyExtended {
private $remoteInPivot; private $remoteInPivot;
private $remoteFilter; private $remoteFilter;
private $remoteLimit; private $remoteLimit;
private $softDelete;
function __construct($localObject, $foreignObject, $pivotTable, $localInPivot, $remoteInPivot, $remoteFilter = Array(), $remoteLimit = Array()) { function __construct($localObject, $foreignObject, $pivotTable, $localInPivot, $remoteInPivot, $remoteFilter = Array(), $remoteLimit = Array(), $softDelete) {
$this->localObject = $localObject; $this->localObject = $localObject;
$this->foreignObject = $foreignObject; $this->foreignObject = $foreignObject;
$this->pivotTable = $pivotTable; $this->pivotTable = $pivotTable;
@@ -20,17 +21,25 @@ class BelongsToManyExtended {
$this->remoteInPivot = $remoteInPivot; $this->remoteInPivot = $remoteInPivot;
$this->remoteFilter = $remoteFilter; $this->remoteFilter = $remoteFilter;
$this->remoteLimit = $remoteLimit; $this->remoteLimit = $remoteLimit;
$this->softDelete = $softDelete;
} }
function get(){ function get(){
$limitsSql = ''; $limitsSql = '';
foreach ($this->remoteLimit as $key => $value) { foreach ($this->remoteLimit as $key => $value) {
$limitsSql .= "$key $value "; $limitsSql .= "$key $value ";
} }
$pivotTable = '{' . $this->pivotTable . '}'; $pivotTable = '{' . $this->pivotTable . '}';
$sql = '';
if($this->softDelete){
$sql = "SELECT * FROM $pivotTable WHERE $this->localInPivot = ? AND deleted_at IS NULL $limitsSql";
} else {
$sql = "SELECT * FROM $pivotTable WHERE $this->localInPivot = ? $limitsSql"; $sql = "SELECT * FROM $pivotTable WHERE $this->localInPivot = ? $limitsSql";
}
$relations = DBInstance::query($sql, Array($this->localObject->id), $this->localObject::_connectionName); $relations = DBInstance::query($sql, Array($this->localObject->id), $this->localObject::_connectionName);
$objects = Array(); $objects = Array();
@@ -47,6 +56,7 @@ class BelongsToManyExtended {
if (empty($objects)) { if (empty($objects)) {
return Array(); return Array();
} }
return $objects; return $objects;
} }