mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-01-11 17:58:41 +00:00
Fix grammar bugs
This commit is contained in:
parent
9958f81c08
commit
a4e277184e
|
|
@ -2239,11 +2239,14 @@ class DataMapperAbstract implements DataMapperInterface
|
|||
*/
|
||||
public static function getPrimaryKeyBy($refKey, string $ref) : array
|
||||
{
|
||||
$query = self::getQuery();
|
||||
$query->select(static::$primaryField)
|
||||
$query = new Builder(self::$db);
|
||||
$query->prefix(self::$db->getPrefix())
|
||||
->select(static::$table . '.' . static::$primaryField)
|
||||
->from(static::$table)
|
||||
->where(static::$table . '.' . $ref, '=', $refKey);
|
||||
|
||||
var_dump($query->toSql());
|
||||
|
||||
$sth = self::$db->con->prepare($query->toSql());
|
||||
$sth->execute();
|
||||
|
||||
|
|
@ -2493,6 +2496,6 @@ class DataMapperAbstract implements DataMapperInterface
|
|||
}
|
||||
}
|
||||
|
||||
throw \Exception();
|
||||
throw new \Exception('Invalid member name');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ abstract class GrammarAbstract
|
|||
|
||||
foreach ($elements as $key => $element) {
|
||||
if (is_string($element) && $element !== '*') {
|
||||
if(strpos($element, '.')) {
|
||||
if(strpos($element, '.') === false) {
|
||||
$prefix = '';
|
||||
}
|
||||
|
||||
|
|
@ -191,6 +191,37 @@ abstract class GrammarAbstract
|
|||
return rtrim($expression, ', ');
|
||||
}
|
||||
|
||||
/**
|
||||
* Expressionize elements.
|
||||
*
|
||||
* @param array $elements Elements
|
||||
* @param string $prefix Prefix for table
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected function expressionizeTable(array $elements, string $prefix = '') : string
|
||||
{
|
||||
$expression = '';
|
||||
|
||||
foreach ($elements as $key => $element) {
|
||||
if (is_string($element) && $element !== '*') {
|
||||
$expression .= $this->compileSystem($element, $prefix) . ', ';
|
||||
} elseif (is_string($element) && $element === '*') {
|
||||
$expression .= '*, ';
|
||||
} elseif ($element instanceof \Closure) {
|
||||
$expression .= $element() . ', ';
|
||||
} elseif ($element instanceof BuilderAbstract) {
|
||||
$expression .= $element->toSql() . ', ';
|
||||
} else {
|
||||
throw new \InvalidArgumentException();
|
||||
}
|
||||
}
|
||||
|
||||
return rtrim($expression, ', ');
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile system.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ class Grammar extends GrammarAbstract
|
|||
*/
|
||||
protected function compileFrom(Builder $query, array $table) : string
|
||||
{
|
||||
$expression = $this->expressionizeTableColumn($table, $query->getPrefix());
|
||||
$expression = $this->expressionizeTable($table, $query->getPrefix());
|
||||
|
||||
if ($expression === '') {
|
||||
return '';
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user