insert() public method

Run an insert statement against the database.
public insert ( string $query, array $bindings = [] ) : boolean
$query string
$bindings array
return boolean
Example #1
0
 /**
  * Insert a new record into the database.
  *
  * @param  array  $values
  * @return bool
  */
 public function insert(array $values)
 {
     if (empty($values)) {
         return true;
     }
     // Since every insert gets treated like a batch insert, we will make sure the
     // bindings are structured in a way that is convenient for building these
     // inserts statements by verifying the elements are actually an array.
     if (!is_array(reset($values))) {
         $values = [$values];
     } else {
         foreach ($values as $key => $value) {
             ksort($value);
             $values[$key] = $value;
         }
     }
     // We'll treat every insert like a batch insert so we can easily insert each
     // of the records into the database consistently. This will make it much
     // easier on the grammars to just handle one type of record insertion.
     $bindings = [];
     foreach ($values as $record) {
         foreach ($record as $value) {
             $bindings[] = $value;
         }
     }
     $sql = $this->grammar->compileInsert($this, $values);
     // Once we have compiled the insert statement's SQL we can execute it on the
     // connection and return a result as a boolean success indicator as that
     // is the same type of result returned by the raw connection instance.
     $bindings = $this->cleanBindings($bindings);
     return $this->connection->insert($sql, $bindings);
 }
 /**
  * {@inheritdoc}
  */
 public function insertPermission(PermissionInterface $permission)
 {
     $this->connection->insert('INSERT INTO ' . $this->getAclSchema()->getPermissionsTableName() . ' (requester, resource, mask) VALUES (:requester, :resource, :mask)', ['requester' => $permission->getRequester()->getAclRequesterIdentifier(), 'resource' => $permission->getResource()->getAclResourceIdentifier(), 'mask' => $permission->getMask()]);
 }