Skip to content

Commit ea3216a

Browse files
committed
Update sourc guide
1 parent 98fea11 commit ea3216a

File tree

3 files changed

+43
-0
lines changed

3 files changed

+43
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
$data = [
4+
'email' => '[email protected]',
5+
'name' => 'Ahmadinejad',
6+
'country' => 'Iran',
7+
];
8+
9+
$builder->upsert($data);
10+
// MySQLi produces: INSERT INTO.. ON DUPLICATE KEY UPDATE..
11+
// Postgre produces: INSERT INTO.. ON CONFLICT.. DO UPDATE..
12+
// SQLite3 produces: INSERT INTO.. ON CONFLICT.. DO UPDATE..
13+
// SQLSRV produces: MERGE INTO.. WHEN MATCHED THEN UPDATE.. WHEN NOT MATCHED THEN INSERT..
14+
// OCI8 produces: MERGE INTO.. WHEN MATCHED THEN UPDATE.. WHEN NOT MATCHED THEN INSERT..
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
class Myclass
4+
{
5+
public $email = '[email protected]';
6+
public $name = 'Ahmadinejad';
7+
public $country = 'Iran';
8+
}
9+
10+
$object = new Myclass();
11+
$builder->upsert($object);
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
$data = [
4+
'email' => '[email protected]',
5+
'name' => 'Ahmadinejad',
6+
'country' => 'Iran',
7+
];
8+
9+
$sql = $builder->setData($data)->getCompiledUpsert();
10+
echo $sql;
11+
/* MySQLi produces:
12+
INSERT INTO `db_user` (`country`, `email`, `name`)
13+
VALUES ('Iran','[email protected]','Ahmadinejad')
14+
ON DUPLICATE KEY UPDATE
15+
`country` = VALUES(`country`),
16+
`email` = VALUES(`email`),
17+
`name` = VALUES(`name`)
18+
*/

0 commit comments

Comments
 (0)