本文整理汇总了PHP中JDatabaseDriver::qn方法的典型用法代码示例。如果您正苦于以下问题:PHP JDatabaseDriver::qn方法的具体用法?PHP JDatabaseDriver::qn怎么用?PHP JDatabaseDriver::qn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JDatabaseDriver
的用法示例。
在下文中一共展示了JDatabaseDriver::qn方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test__callQuoteName
/**
* Test for the JDatabaseDriver::__call method.
*
* @return void
*
* @since 12.1
*/
public function test__callQuoteName()
{
$this->assertThat(
$this->db->qn('foo'),
$this->equalTo($this->db->quoteName('foo')),
'Tests the qn alias of quoteName.'
);
}
示例2: save
/**
* Method to provide a shortcut to binding, checking and storing a FOFTable
* instance to the database table. The method will check a row in once the
* data has been stored and if an ordering filter is present will attempt to
* reorder the table rows based on the filter. The ordering filter is an instance
* property name. The rows that will be reordered are those whose value matches
* the FOFTable instance for the property specified.
*
* @param mixed $src An associative array or object to bind to the FOFTable instance.
* @param string $orderingFilter Filter for the order updating
* @param mixed $ignore An optional array or space separated list of properties
* to ignore while binding.
*
* @return boolean True on success.
*/
public function save($src, $orderingFilter = '', $ignore = '')
{
// Attempt to bind the source to the instance.
if (!$this->bind($src, $ignore)) {
return false;
}
// Run any sanity checks on the instance and verify that it is ready for storage.
if (!$this->check()) {
return false;
}
// Attempt to store the properties to the database table.
if (!$this->store()) {
return false;
}
// Attempt to check the row in, just in case it was checked out.
if (!$this->checkin()) {
return false;
}
// If an ordering filter is set, attempt reorder the rows in the table based on the filter and value.
if ($orderingFilter) {
$filterValue = $this->{$orderingFilter};
$this->reorder($orderingFilter ? $this->_db->qn($orderingFilter) . ' = ' . $this->_db->q($filterValue) : '');
}
// Set the error to empty and return true.
$this->setError('');
return true;
}
示例3: store
/**
* Method to store mapped rows in the database from the JTable instance properties.
*
* @param array $filter Touch only these filtered items.
*
* @return boolean True on success.
*
* @link http://docs.joomla.org/JTable/store
* @throws UnexpectedValueException
*/
public function store(array $filter = null)
{
$k = $this->_tbl_key;
$m = $this->_tbl_mapped;
if (0 == $this->{$k}) {
throw new UnexpectedValueException(sprintf('No key specified: %s.', get_class($this)));
}
$id = $this->{$k};
$items = $this->{$m};
if (!empty($items)) {
// Load currently mapped variables from database.
$this->load();
$filtered = !is_null($filter) ? array_intersect($this->{$m}, $filter) : $this->{$m};
// Calculate difference (added and deleted items).
$added = array_diff($items, $filtered);
$deleted = array_diff($filtered, $items);
// Create all added items.
if ($added) {
$values = array();
foreach ($added as $var) {
$values[] = (int) $id . ',' . (int) $var;
}
$query = $this->_db->getQuery(true);
$query->insert($this->_db->qn($this->_tbl));
$query->columns(array($this->_db->qn($this->_tbl_key), $this->_db->qn($this->_tbl_mapped)));
$query->values($values);
$this->_db->setQuery($query);
$this->_db->execute();
}
// Remove all deleted items.
if ($deleted) {
$query = $this->_db->getQuery(true);
$query->delete($this->_db->qn($this->_tbl));
$query->where($this->_db->qn($this->_tbl_key) . '=' . (int) $id);
$query->where($this->_db->qn($this->_tbl_mapped) . ' IN (' . implode(',', $deleted) . ')');
$this->_db->setQuery($query);
$this->_db->execute();
}
} else {
$this->delete();
}
$this->{$m} = $items;
if ($this->_locked) {
$this->_unlock();
}
return true;
}
示例4: getNextOrder
/**
* Method to get the next ordering value for a group of rows defined by an SQL WHERE clause.
* This is useful for placing a new item last in a group of items in the table.
*
* @param string $where WHERE clause to use for selecting the MAX(ordering) for the table.
*
* @return mixed Boolean false an failure or the next ordering value as an integer.
*/
public function getNextOrder($where = '')
{
// If there is no ordering field set an error and return false.
$ordering = $this->getColumnAlias('ordering');
if (!in_array($ordering, $this->getKnownFields())) {
throw new UnexpectedValueException(sprintf('%s does not support ordering.', get_class($this)));
}
// Get the largest ordering value for a given where clause.
$query = $this->_db->getQuery(true);
$query->select('MAX(' . $this->_db->qn($ordering) . ')');
$query->from($this->_tbl);
if ($where) {
$query->where($where);
}
$this->_db->setQuery($query);
$max = (int) $this->_db->loadResult();
// Return the largest ordering value + 1.
return $max + 1;
}