Skip to content

Instantly share code, notes, and snippets.

@byjg
Created November 17, 2019 12:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save byjg/ba6dbfbe3424ad5da1471bd545e82598 to your computer and use it in GitHub Desktop.
Save byjg/ba6dbfbe3424ad5da1471bd545e82598 to your computer and use it in GitHub Desktop.
ByJG Micro Orm with Snake Case
{
"name": "jg/snake_case",
"require": {
"byjg/micro-orm": "^4.0"
},
"autoload": {
"psr-4": {
"ByJG\\Sample\\MicroOrm\\SnakeCase\\": "./"
}
}
}
<?php
require "vendor/autoload.php";
// Creating the mapping
$mapper = new \ByJG\MicroOrm\Mapper(
\ByJG\Sample\MicroOrm\SnakeCase\MyTable::class,
'my_table',
'field_id'
);
$mapper->addFieldMap("fieldid", "field_id");
$mapper->addFieldMap("fieldvalue", "field_value");
$dataset = \ByJG\AnyDataset\Db\Factory::getDbRelationalInstance('sqlite://' . __DIR__ . '/snake_case.db');
$repository = new \ByJG\MicroOrm\Repository($dataset, $mapper);
$repository->save(new \ByJG\Sample\MicroOrm\SnakeCase\MyTable("teste"));
var_dump($repository->get(1));
<?php
class MyTable
{
protected $field_id;
protected $field_value;
/**
* MyTable constructor.
* @param $field_value
*/
public function __construct($field_value = "")
{
$this->field_value = $field_value;
}
/**
* @return mixed
*/
public function getFieldId()
{
return $this->field_id;
}
/**
* @param mixed $field_id
*/
public function setFieldId($field_id)
{
$this->field_id = $field_id;
}
/**
* @return mixed
*/
public function getFieldValue()
{
return $this->field_value;
}
/**
* @param mixed $field_value
*/
public function setFieldValue($field_value)
{
$this->field_value = $field_value;
}
}
create table my_table (
field_id integer primary key autoincrement not null,
field_value varchar(20) null
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment