Baum\Node::getQualifiedScopedColumns PHP Method

getQualifiedScopedColumns() public method

Get the qualified column names which define our scope.
public getQualifiedScopedColumns ( ) : array
return array
    public function getQualifiedScopedColumns()
    {
        if (!$this->isScoped()) {
            return $this->getScopedColumns();
        }
        $prefix = $this->getTable() . '.';
        return array_map(function ($c) use($prefix) {
            return $prefix . $c;
        }, $this->getScopedColumns());
    }

Usage Example

Esempio n. 1
0
 /**
  * Checks if duplicate values for the column specified exist. Takes
  * the Nested Set scope columns into account (if appropiate).
  *
  * @param   string  $column
  * @return  boolean
  */
 protected function duplicatesExistForColumn($column)
 {
     $connection = $this->node->getConnection();
     $grammar = $connection->getQueryGrammar();
     $columns = array_merge($this->node->getQualifiedScopedColumns(), array($column));
     $columnsForSelect = implode(', ', array_map(function ($col) use($grammar) {
         return $grammar->wrap($col);
     }, $columns));
     $wrappedColumn = $grammar->wrap($column);
     $query = $this->node->newQuery()->select($connection->raw("{$columnsForSelect}, COUNT({$wrappedColumn})"))->havingRaw("COUNT({$wrappedColumn}) > 1");
     foreach ($columns as $col) {
         $query->groupBy($col);
     }
     $result = $query->first();
     return !is_null($result);
 }