1. Go to this page and download the library: Download doublemcz/dibi-orm library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
$user = $databaseManager->find('User', 1);
$user->note = 'An updated note on user 1';
$user2 = $databaseManager->find('User', 2);
$user2->note = 'An updated note on user 2';
$user3 = $databaseManager->find('User', 3);
$database->delete($user3);
// Flush makes automatically two sql updates and one delete
$databaseManager->flush();
/**
* @table (name="users")
*/
class User {
/**
* @oneToMany(entity="UserLog")
* @join(column="id", referenceColumn="userId")
* @var User
*/
protected $userLog;
/**
* @return UserLog[]
*/
public function getUserLog()
{
return $this->userLog;
}
}
/**
* @table (name="users")
*/
class User {
/**
* @oneToMany(entity="UserLog")
* @join(column="id", referenceColumn="userId")
* @staticJoin(column="type", value="error")
* @var User
*/
protected $errorLog;
/**
* @return UserLog[]
*/
public function getErrorLog()
{
return $this->errorLog;
}
}
/**
* @param Manager $manager
*/
public function beforeCreateEvent(Manager $manager)
{
$this->createdAt = new \DateTime();
}
public function beforeUpdateEvent(Manager $manager)
{
$this->updatedAt = new \DateTime();
}
namespace doublemcz\dibiorm\Examples\Entities;
use doublemcz\dibiorm\Manager;
/**
* @table (name="users")
*/
class User {
/**
* @primaryKey
* @autoIncrement
* @column
* @var int
*/
public $id;
/**
* @oneToMany(entity="UserLog")
* @join(column="id", referenceColumn="userId")
* @var User
*/
protected $userLog;
/**
* @oneToMany(entity="UserLog")
* @join(column="id", referenceColumn="userId")
* @staticJoin(column="type", value="error")
* @var User
*/
protected $userErrorLog;
/**
* @oneToOne(entity="UserDetail")
* @join(column="id", referenceColumn="userId")
* @var UserDetail
*/
protected $detail;
/**
* @column
* @var string
*/
public $fullname;
/**
* @column
* @var \DateTime
*/
public $birthDate;
/**
* @column
* @var \DateTime
*/
public $createdAt;
/**
* @column
* @var \DateTime
*/
public $updatedAt;
/**
* @return UserLog[]
*/
public function getUserLog()
{
return $this->userLog;
}
/**
* @return UserDetail
*/
public function getDetail()
{
return $this->detail;
}
/**
* @param Manager $manager
*/
public function beforeCreateEvent(Manager $manager)
{
$this->createdAt = new \DateTime();
}
public function beforeUpdateEvent(Manager $manager)
{
$this->updatedAt = new \DateTime();
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.