Esempio n. 1
0
 /**
  * Trash all beans of a given type. Wipes an entire type of bean.
  *
  * @param string $type type of bean you wish to delete all instances of
  *
  * @return boolean
  *
  * @throws RedBean_Exception_SQL
  */
 public function wipe($type)
 {
     try {
         $this->writer->wipe($type);
         return TRUE;
     } catch (RedBean_Exception_SQL $exception) {
         if (!$this->writer->sqlStateIn($exception->getSQLState(), array(RedBean_QueryWriter::C_SQLSTATE_NO_SUCH_TABLE))) {
             throw $exception;
         }
         return FALSE;
     }
 }
Esempio n. 2
0
 /**
  * Loads and returns a series of beans of type $type.
  * The beans are loaded all at once.
  * The beans are retrieved using their primary key IDs
  * specified in the second argument.
  * @throws RedBean_Exception_Security $exception
  * @param string $type
  * @param array $ids
  * @return array $beans
  */
 public function batch($type, $ids)
 {
     if (!$ids) {
         return array();
     }
     $collection = array();
     try {
         $rows = $this->writer->selectRecord($type, $ids);
     } catch (RedBean_Exception_SQL $e) {
         if (!$this->writer->sqlStateIn($e->getSQLState(), array(RedBean_QueryWriter::C_SQLSTATE_NO_SUCH_COLUMN, RedBean_QueryWriter::C_SQLSTATE_NO_SUCH_TABLE))) {
             throw $e;
         }
         $rows = false;
     }
     $this->stash = array();
     if (!$rows) {
         return array();
     }
     foreach ($rows as $row) {
         $this->stash[$row[$this->writer->getIDField($type)]] = $row;
     }
     foreach ($ids as $id) {
         $collection[$id] = $this->load($type, $id);
     }
     $this->stash = NULL;
     return $collection;
 }
Esempio n. 3
0
	/**
	 * Trash all beans of a given type.
	 *
	 * @param string $type type
	 *
	 * @return boolean $yesNo whether we actually did some work or not..
	 */
	public function wipe($type) {
		try {
			$this->writer->wipe($type);
			return true;
		}catch(RedBean_Exception_SQL $e) {
			if (!$this->writer->sqlStateIn($e->getSQLState(),
			array(RedBean_QueryWriter::C_SQLSTATE_NO_SUCH_TABLE)
			)) throw $e;
		}
		return false;
	}