préfixe de colonne
This commit is contained in:
		
							parent
							
								
									dbb67bc3bc
								
							
						
					
					
						commit
						584b7883a7
					
				@ -2,6 +2,7 @@
 | 
			
		||||
namespace nur\sery\db\_private;
 | 
			
		||||
 | 
			
		||||
use nur\sery\cl;
 | 
			
		||||
use nur\sery\str;
 | 
			
		||||
use nur\sery\ValueException;
 | 
			
		||||
 | 
			
		||||
trait Tselect {
 | 
			
		||||
@ -32,6 +33,8 @@ trait Tselect {
 | 
			
		||||
    if (self::consume('(.*?)\s*(?=$|\bfrom\b)', $tmpsql, $ms)) {
 | 
			
		||||
      if ($ms[1]) $usercols[] = $ms[1];
 | 
			
		||||
    }
 | 
			
		||||
    $colPrefix = $query["col_prefix"] ?? null;
 | 
			
		||||
    if ($colPrefix !== null) str::add_suffix($colPrefix, ".");
 | 
			
		||||
    $tmpcols = cl::withn($query["cols"] ?? null);
 | 
			
		||||
    $schema = $query["schema"] ?? null;
 | 
			
		||||
    if ($tmpcols !== null) {
 | 
			
		||||
@ -41,20 +44,22 @@ trait Tselect {
 | 
			
		||||
        if ($key === $index) {
 | 
			
		||||
          $index++;
 | 
			
		||||
          $cols[] = $col;
 | 
			
		||||
          $usercols[] = $col;
 | 
			
		||||
          $usercols[] = "${colPrefix}$col";
 | 
			
		||||
        } else {
 | 
			
		||||
          $cols[] = $key;
 | 
			
		||||
          $usercols[] = "$col as $key";
 | 
			
		||||
          $usercols[] = "${colPrefix}$col as $key";
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    } else {
 | 
			
		||||
      $cols = null;
 | 
			
		||||
      if ($schema && is_array($schema) && !in_array("*", $usercols)) {
 | 
			
		||||
        $cols = array_keys($schema);
 | 
			
		||||
        $usercols = array_merge($usercols, $cols);
 | 
			
		||||
        foreach ($cols as $col) {
 | 
			
		||||
          $usercols[] = "${colPrefix}$col";
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    if (!$usercols && !$cols) $usercols = ["*"];
 | 
			
		||||
    if (!$usercols && !$cols) $usercols = ["${colPrefix}*"];
 | 
			
		||||
    $sql[] = implode(", ", $usercols);
 | 
			
		||||
 | 
			
		||||
    ## from
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,7 @@ class _select {
 | 
			
		||||
    "prefix" => "?string",
 | 
			
		||||
    "schema" => "?array",
 | 
			
		||||
    "cols" => "?array",
 | 
			
		||||
    "col_prefix" => "?string",
 | 
			
		||||
    "from" => "?string",
 | 
			
		||||
    "where" => "?array",
 | 
			
		||||
    "order by" => "?array",
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user