spqr/vendor/cakephp/database/Query/SelectQuery.php
2024-11-05 12:10:06 +08:00

128 lines
2.9 KiB
PHP

<?php
declare(strict_types=1);
/**
* CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
* Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
*
* Licensed under The MIT License
* For full copyright and license information, please see the LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
* @link https://cakephp.org CakePHP(tm) Project
* @since 4.5.0
* @license https://opensource.org/licenses/mit-license.php MIT License
*/
namespace Cake\Database\Query;
use Cake\Database\Connection;
use Cake\Database\Query;
/**
* Select Query forward compatibility shim.
*/
class SelectQuery extends Query
{
/**
* Type of this query (select, insert, update, delete).
*
* @var string
*/
protected $_type = 'select';
/**
* @inheritDoc
*/
public function delete(?string $table = null)
{
$this->_deprecatedMethod('delete()', 'Create your query with deleteQuery() instead.');
return parent::delete($table);
}
/**
* @inheritDoc
*/
public function insert(array $columns, array $types = [])
{
$this->_deprecatedMethod('insert()', 'Create your query with insertQuery() instead.');
return parent::insert($columns, $types);
}
/**
* @inheritDoc
*/
public function into(string $table)
{
$this->_deprecatedMethod('into()', 'Use from() instead.');
return parent::into($table);
}
/**
* @inheritDoc
*/
public function values($data)
{
$this->_deprecatedMethod('values()');
return parent::values($data);
}
/**
* @inheritDoc
*/
public function update($table)
{
$this->_deprecatedMethod('update()', 'Create your query with updateQuery() instead.');
return parent::update($table);
}
/**
* @inheritDoc
*/
public function set($key, $value = null, $types = [])
{
$this->_deprecatedMethod('set()');
return parent::set($key, $value, $types);
}
/**
* Sets the connection role.
*
* @param string $role Connection role ('read' or 'write')
* @return $this
*/
public function setConnectionRole(string $role)
{
assert($role === Connection::ROLE_READ || $role === Connection::ROLE_WRITE);
$this->connectionRole = $role;
return $this;
}
/**
* Sets the connection role to read.
*
* @return $this
*/
public function useReadRole()
{
return $this->setConnectionRole(Connection::ROLE_READ);
}
/**
* Sets the connection role to write.
*
* @return $this
*/
public function useWriteRole()
{
return $this->setConnectionRole(Connection::ROLE_WRITE);
}
}