2 Commits

Author SHA1 Message Date
946a0b0b5e Merge branch 'develop' into release 2022-09-12 21:00:03 -03:00
3b1902ed1a Include AND when not specified in condition 2022-09-12 20:59:27 -03:00

View File

@ -105,7 +105,19 @@ abstract class Select extends Query implements SelectInterface
} }
public function getJoinString(): string public function getJoinString(): string
{ {
return implode(' ', $this->getJoins()); $str = [];
foreach ($this->getJoins() as $i => $join) {
if ($i === 0) {
$str []= $join;
continue;
}
if (!str_contains('and ', strtolower($join)) and !str_contains('or ', strtolower($join))) {
$str []= "AND {$join}";
continue;
}
$str []= $join;
}
return implode(' ', $str);
} }
protected array $conditions; protected array $conditions;
public function setConditions(array $conditions): SelectInterface public function setConditions(array $conditions): SelectInterface
@ -126,7 +138,19 @@ abstract class Select extends Query implements SelectInterface
} }
public function getConditionString(): string public function getConditionString(): string
{ {
return implode(' ', $this->getConditions()); $str = [];
foreach ($this->getConditions() as $i => $condition) {
if ($i === 0) {
$str []= $condition;
continue;
}
if (!str_contains('and ', strtolower($condition)) and !str_contains('or ', strtolower($condition))) {
$str []= "AND {$condition}";
continue;
}
$str []= $condition;
}
return implode(' ', $str);
} }
protected array $groups; protected array $groups;
public function setGroups(array $groups): SelectInterface public function setGroups(array $groups): SelectInterface