/** * @return false|Person */ public function getPerson() { if (!$this->_person) { $this->_person = Person::search()->where('person_id', $this->person_id)->execOne(); } return $this->_person; }
require_once "vendor/autoload.php"; use Example\Models\Person; /*$database = new \Thru\ActiveRecord\DatabaseLayer([ 'db_type' => 'Mysql', 'db_hostname' => 'localhost', 'db_port' => '3306', 'db_username' => 'example', 'db_password' => 'YsATwAjD3ZYXc2nj', 'db_database' => 'example', ]);*/ $database = new \Thru\ActiveRecord\DatabaseLayer(['db_type' => 'Sqlite', 'db_file' => 'example.sqlite']); $faker = Faker\Factory::create(); $faker->addProvider(new Faker\Provider\en_GB\Address($faker)); for ($i = 0; $i < 5; $i++) { $person = new \Example\Models\Person(); $person->name = $faker->name; $person->age = rand(18, 90); $person->save(); $num = rand(1, 5); for ($r = 0; $r < $num; $r++) { $residence = new \Example\Models\Residence(); $residence->person_id = $person->person_id; $residence->address = $faker->streetAddress; $residence->city = $faker->city; $residence->postcode = $faker->postcode; $residence->save(false); } } /** @var Person $randomPerson */ $randomPerson = Person::search()->where('age', 5, '>')->order('rand()')->execOne();