xruff / basedbmodel
Nette 数据库工具
v2.0.2
2019-08-30 19:03 UTC
Requires
- nette/database: ~2.4
- nette/utils: ~2.4
Requires (Dev)
- nette/database: ~2.4
- nette/tester: ~1.1.0
- nette/utils: ~2.4
- tracy/tracy: 2.4.*
- vanio/coding-standards: ^0.1@dev
This package is auto-updated.
Last update: 2024-09-19 03:52:54 UTC
README
要求
包需要 PHP 5.6 或更高版本
安装
安装 XRuff/BaseDbModel 的最佳方式是使用 Composer
$ composer require xruff/basedbmodel
简短文档
UsersRepository 用于处理数据库表 users
。你应该在表名后使用 Repository
后缀。
namespace MyModels; use XRuff\App\Model\BaseDbModel; class UsersRepository extends BaseDbModel { // no implementation needed }
如果出于某种原因你不能在类名中使用表名或单词 Repository,请遵循以下步骤
namespace MyModels; use Nette\Database\Context; use XRuff\App\Model\BaseDbModel; class MyAnyNameRepo extends BaseDbModel { public function __construct(Context $db) { parent::__construct($db, 'my_db_able_name'); } }
在 presenter(或其他地方)中使用模型
use Nette; use MyModels\UsersRepository; class MyUsersPresenter extends Nette\Application\UI\Presenter { /** @var UsersRepository $usersModel */ public $usersModel; public function __construct( UsersRepository $usersModel ) { $this->usersModel = $usersModel; } public function actionDefault() { // returns Nette\Database\Table\ActiveRow // with first user with name John in table users $this->usersModel->getOneBy(['name' => 'John']); // or // set name as Joe for user with id 5 in table users // and returns Nette\Database\Table\ActiveRow with updated values $this->usersModel->save(['id' => 5, 'name' => 'Joe']); // or add new user with name Jane // and returns Nette\Database\Table\ActiveRow with just added row $this->usersModel->save(['name' => 'Jane']); // or some another method inherited from BaseDbModel } }