Advertisement
lignite0

ORM piece of mind 2

Aug 31st, 2015
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.52 KB | None | 0 0
  1. <?php
  2. namespace App\MemberBundle;
  3.  
  4. use App\MemberBundle\Model\Member;
  5. use Lignite0\ORM\Database;
  6.  
  7. # data from request
  8. $_POST['member']['username']   = 'admin';
  9. $_POST['member']['password']   = 'd033e22ae348aeb5660fc2140aec35850c4da997';
  10. $_POST['member']['somedata']   = '<a href="#">Lorem ipsum dolor</a>';
  11. $_POST['member']['postalCode'] = '00-000';
  12.  
  13. # init database connection, two ways
  14. $database = new Database('mysql:dbname=database;host=localhost', 'root', '');
  15. // or
  16. $database = \PDO('mysql:dbname=database;host=localhost', 'root', '');
  17.  
  18. # create new record, without queries yet
  19. $tableName    = "prefix__members_lang_pl";
  20. $memberTable  = new Member\Table($database, $tableName);
  21. $memberRecord = new Member\Record($memberTable);
  22. $memberFilter = new Member\Filter();
  23.  
  24. try {
  25.     $memberFilter->reduceFilteringFields(array('username', 'somedata'));
  26.     $filteredArray = $memberFilter->filterArray($_POST);
  27.     $memberRecord->bindFromArray($filteredArray); // binding data to record where array key is a field of object
  28.     $newPrimaryID = $memberRecord->insert(); // query INSERT ...
  29. } catch (\PDOException $pdoException) {
  30.     // process exception
  31. } catch (\Exception $exception) {
  32.     // process exception
  33. }
  34.  
  35. var_dump($memberRecord->username);          // string(5) "admin"
  36. var_dump($memberRecord->password);          // string(0) ""
  37. var_dump($newPrimaryID);                    // e.g. int(5)
  38. var_dump($memberRecord->getPrimaryID());    // same as above
  39. var_dump($memberRecord->memberID);          // same as above
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement