Referência

Os métodos abaixo são disponibilizados pela classe RotyPHP\Model, que deve ser estendida pelos seus modelos. Eles combinam a construção da query e a execução via PDO.

create

Insere um novo registro na tabela.

Assinatura

public function create(array $data)

Exemplo

$user = new User();
 
$user->create([
    'name' => 'João Silva',
    'email' => 'joao@exemplo.com',
]);

edit

Atualiza registros. Use where() antes para definir quais linhas serão afetadas.

Assinatura

public function edit(array $data)

Exemplo

$user = new User();
 
$user->where('id', 1)->edit([
    'name' => 'Maria Souza',
]);

delete

Remove registros da tabela a partir do array informado.

Assinatura

public function delete(array $data)

Exemplo

$user = new User();
 
$user->delete(['id' => 1]);

where

Adiciona uma condição WHERE. As condições são acumuladas e concatenadas com AND.

Assinatura

public function where(string $column, int|string $value, string $symbol = "=")

Exemplo

$user = new User();
 
$user->where('role', 'admin');
$user->where('active', 1);
 
$admins = $user->getAll();

join

Adiciona um JOIN (inner join) à query.

Assinatura

public function join(string $table, string $key, string $field)

Exemplo

$user = new User();
 
$user->join('profiles', 'users.id', 'profiles.user_id');
 
$rows = $user->getAll('users.id, users.name, profiles.avatar');

order

Define a ordenação dos resultados.

Assinatura

public function order(string $column, string $order = 'ASC')

Exemplo

$user = new User();
 
$user->order('name', 'ASC');
 
$users = $user->getAll();

limit

Limita o número de registros retornados.

Assinatura

public function limit(int $limit)

Exemplo

$user = new User();
 
$user->limit(10);
 
$users = $user->getAll();

getAll

Executa a query e retorna todos os registros como um array associativo.

Assinatura

public function getAll(string $columns = '*')

Exemplo

$user = new User();
 
$admins = $user->where('role', 'admin')->getAll('id, name, email');

getFirst

Executa a query e retorna o primeiro registro.

Assinatura

public function getFirst(string $columns = '*')

Exemplo

$user = new User();
 
$firstAdmin = $user->where('role', 'admin')->getFirst('id, name');