Skip to content

Insert, update & delete

danillos edited this page Apr 19, 2011 · 2 revisions

Para inserir alterar ou deletar dados do banco de dados são usados os métodos abaixo:

Método: create

Cria um novo registro no banco de dados.

<?php
  $post = new Post();

  $data = array(
    'title' => 'My blog post title',
    'content' => 'Content blog'
  );

  $post->create($data);

  echo $post->id; // => 1 (return inserted id)
?>

Defenindo quais dados podem ser salvos

<?php
  $post = new Post();

  $data = array(
    'title' => 'My blog post title',
    'content' => 'Content blog'
  );

  $post->create($data, array('title'));

  echo $post->id; // => 1 (return inserted id)
  echo $post->title; // => My blog post title
  echo $post->content; // => NULL
?>

Método: save

Cria um novo registro ou atualiza ele se o id estiver defenido no objeto.

<?php
  $post = new Post();

  $data = array(
    'title' => 'My blog post title',
    'content' => 'Content blog'
  );

  $post->save($data); // Chama o create na primeira vez
  echo $post->id; // => 1 
  echo $post->title; // => My blog post title

  $post->title = 'Update title';

  $post->save(); // Chama o update
  echo $post->id; // => 1
  echo $post->title; // => Update title
?>

Salvando um objeto

<?php
  $post = new Post();

  $post->title = 'My blog post title';
  $post->content = 'Content blog';

  $post->save();

  echo $post->id; // => 1 
  echo $post->title; // => My blog post title
?>

Método: update

Atualiza os dados de um registro no banco de dados.

<?php
  $post = new Post();

  $data = array(
    'title' => 'My blog post title',
    'content' => 'Content blog'
  );

  $post->update(1, $data); // atualiza o registro de ID 1 com os dados passados.
?>

Método: delete

Deleta um ou mais registros do banco de dados.

<?php
  $post = new Post();
  $post->delete(1); // deleta o registro de ID 1
?>
<?php
  $post = new Post();
  $post->delete(array(1,2,3,4)); // deleta os registros com os IDs passados.
?>

Método: delete_all

Deleta todos os registros encontrados na busca

<?php
  $post = new Post();
  $post->where('comments > 10')->delete_all(); // deleta todos os registros com mais de 10 comentários.
?>

Método: increment

Incrementa um número a determinado campo no registro.

<?php
  $post = new Post();
  $id = 12;

  // Incrementa +1 no campo comments_count do registro 12.
  $post->increment($id,'comments_count');

  // Incrementa +2 no campo comments_count do registro 12.
  $post->increment($id,'comments_count',2);
?>

Método: decrement

Diminui um número de determinado campo no registro.

<?php
  $post = new Post();
  $id = 12;

  // Diminui 1 no campo comments_count do registro 12.
  $post->decrement($id,'comments_count');

  // Diminui 2 no campo comments_count do registro 12.
  $post->decrement($id,'comments_count',2);
?>

Clone this wiki locally