sourcegr / freakquent
一个简洁明了、无废话的库
1.0.0
2020-10-04 09:43 UTC
Requires
- sourcegr/query-builder: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-05 17:40:05 UTC
README
一个类似于Eloquent、QueryBuilder、Doctrine、IDE友好、无废话的PHP ORM。
配置
<?php use Sourcegr\QueryBuilder\DB; use Sourcegr\Freakquent\Freakquent; use Sourcegr\QueryBuilder\Grammars\MySQL; $grammar = new MySQL([ 'DB' => 'dbname', 'USER' => 'user', 'PASS' => 'passwordd', 'HOST' => '127.0.0.1' ]); $DB = new DB($grammar); Freakquent::init($DB);
示例联系人模型
<?php namespace Models; use Sourcegr\Freakquent\BaseModel; use Sourcegr\Freakquent\Relations\RelationTrait; class Contact extends BaseModel { use RelationTrait; protected static $table = 'contacts'; public $id; public $name; public $company_id; public function company() { return $this->belongsTo(Company::class, 'company_id', 'id'); } }
示例公司模型
<?php namespace Models; use Sourcegr\Freakquent\BaseModel; use Sourcegr\Freakquent\Relations\RelationTrait; class Company extends BaseModel { use RelationTrait; // set up model's database tablename protected static $table = 'companies'; // set up model's database columns public $id; public $name; // set up a relation. A Company has many contacts public function contacts() { return $this->hasMany(Contact::class, 'id', 'company_id'); } }
如何使用它
通过id查找模型 Contact::find(1);
查找并删除它 Contact::find(1).delete();
查找并更新它
$c = Contact::find(1); $c->name = 'New name'; $c->save();