insert()

전달된 데이터의 연관 배열을 이용하여, 데이터베이스에 새로운 데이터 행을 작성합니다.
배열의 키는 $table의 열(column) 이름과 일치해야 하며 배열의 값은 해당 키에 저장할 값입니다.

$userModel->insert([
    'username' => 'darth',
    'title' => 'my title',
    'email'    => 'd.vader@theempire.com',
]);

1

* Query : INSERT INTO `my_table_tmp_0` (`title`, `email`) VALUES ('my title', 'd.vader@theempire.com')

update()

데이터베이스의 기존 레코드를 업데이트합니다. 첫 번째 매개 변수는 업데이트할 레코드의 `$primaryKey`입니다.
두 번째 매개 변수는 이 메소드에 전달될 데이터의 연관 배열입니다.
배열의 키는 $table의 열(column) 이름과 일치해야 하며 배열의 값은 해당 키에 저장할 값입니다.

$userModel->update(1, [
    'name' => 'darth',
    'email'    => 'd.vader@theempire.com',
]);

1

* Query : UPDATE `my_table_tmp_0` SET `name` = 'darth', `email` = 'd.vader@theempire.com' WHERE `my_table_tmp_0`.`idx` IN (1)

기본(primary) 키 배열을 첫 번째 매개 변수로 전달하여 한 번의 호출로 여러 레코드를 업데이트할 수 있습니다.

$userModel->update([1, 2], [
    'name' => 'darth',
    'email'    => 'd.vader@theempire.com',
]);

1

* Query : UPDATE `my_table_tmp_0` SET `name` = 'darth', `email` = 'd.vader@theempire.com' WHERE `my_table_tmp_0`.`idx` IN (1,2)

쿼리 빌더의 다양한 메소드를 추가하여 업데이트 명령을 수행하려면, 매개 변수를 비운채 사용하십시오.

$userModel->set([
    'name' => 'darth',
    'email'    => 'd.vader@theempire.com',
])->whereIn('idx', [1, 2])->update();

1

* Query : UPDATE `my_table_tmp_0` SET `name` = 'darth', `email` = 'd.vader@theempire.com' WHERE `idx` IN (1,2)

save()

`$primaryKey` 값과 일치하는 배열 키가 존재하는지의 여부에 따라 INSERT 또는 UPDATE를 자동으로 처리합니다.

$userModel->save([
    'username' => 'darth',
    'email'    => 'd.vader@theempire.com',
]);

1

* Query : INSERT INTO `my_table_tmp_0` (`email`) VALUES ('d.vader@theempire.com')

$userModel->save([
    'idx' => 1,
    'username' => 'darth',
    'email'    => 'd.vader@theempire.com',
]);

1

* Query : UPDATE `my_table_tmp_0` SET `email` = 'd.vader@theempire.com' WHERE `my_table_tmp_0`.`idx` IN (1)