Actualizar

PIPE tiene dos formas de actualizar datos en las tablas de la base de datos.

Forma #1 de actualización de datos.

<?php

// El método encontrar() recibe como parámetro el id de la llave primaria.
$usuario = Usuario::encontrar(1);
$usuario->nombres = 'John';
$usuario->apellidos = 'Doe';
$usuario->actualizar(); // Este método devuelve el número de registros actualizados.

// Por medio del constructor de consultas PIPE.
// Si nuestra llave primaria no sigue la convención del ORM PIPE podemos especificarla de la siguiente manera.
$usuario = PIPE::tabla('usuarios')->encontrar(1, 'codigo');
$usuario->nombres = 'John';
$usuario->apellidos = 'Doe';
$usuario->actualizar();

Forma #2 de actualización de datos.

<?php

$resultado = Usuario::donde('id = ? o id = ?', [1, 2])
    ->actualizar(['nombres' => 'John', 'apellidos' => 'Doe']);

// Si deseamos realizar una actualización masiva lo hacemos de la siguiente manera.
$resultado = Usuario::actualizar(['nombres' => 'John', 'apellidos' => 'Doe']);

// Por medio del constructor de consultas PIPE.
$resultado = PIPE::tabla('usuarios')->donde('id = ? o id = ?', [1, 2])
    ->actualizar(['nombres' => 'John', 'apellidos' => 'Doe']);

$resultado = PIPE::tabla('usuarios')
    ->actualizar(['nombres' => 'John', 'apellidos' => 'Doe']);

Actualización de datos por medio del método editar() proporcionado por el modelo, el cual realiza la actualización y nos retorna un objeto con los datos editados.

<?php

// En el primer parámetro enviamos el id de la llave primaria.
// En el segundo parámetro enviamos un arreglo con los datos que serán actualizados.

$usuario = Usuario::editar(
    1, ['nombres' => 'John', 'apellidos' => 'Doe', 'correo' => 'johndoe@correo.com']
);

El método editar() permite enviar varias llaves primarias simultáneamente, el cual devuelve un arreglo de objetos con los datos editados.

<?php

$usuarios = Usuario::editar(
    [1, 2, 3], ['nombres' => 'John', 'apellidos' => 'Doe', 'correo' => 'johndoe@correo.com']
);

El método actualizarOInsertar() intentará localizar un registro que coincida con los valores del primer argumento. Si el registro existe, se actualizará con los valores del segundo argumento. Si el registro no existe, se insertará un nuevo registro con los atributos combinados de ambos argumentos.

<?php

$resultado = Usuario::actualizarOInsertar(
    ['nombres' => 'John', 'apellidos' => 'Doe'],
    ['correo' => 'johndoe@correo.com']
);

// Por medio del constructor de consultas PIPE.
$resultado = = PIPE::tabla('usuarios')->actualizarOInsertar(
    ['nombres' => 'John', 'apellidos' => 'Doe'],
    ['correo' => 'johndoe@correo.com']
);

Actualización de datos por medio del método consulta().

<?php

// Este método devuelve el número de registros actualizados.
$resultado = PIPE::consulta(
    "actualizar usuarios asignar nombres = 'John', apellidos = 'Doe' donde id = 1"
);

Actualización de datos por medio del método consultaNativa().

<?php

// Este método devuelve el número de registros actualizados.
$resultado = PIPE::consultaNativa(
    "update usuarios set nombres = 'John', apellidos = 'Doe' where id = 1"
);

Si utilizas el Modelo para interactuar con los datos de la base de datos, tendrás la ventaja de poder omitir las convenciones que tiene el ORM PIPE y adaptarse a la estructura que tenga tu tabla en la base de datos, ya que el Constructor de Consultas se adapta por defecto a las convenciones.