imliam / yii2-traits
A collection of miscellaneous traits to extend parts of Yii2
Requires
- php: ^7.1
This package is auto-updated.
Last update: 2024-11-29 05:38:39 UTC
README
A collection of miscellaneous traits to extend parts of Yii2.
- Yii2 Traits
💾 Installation
You can install the package with Composer using the following command:
composer require imliam/yii2-traits:^1.0.0
Once installed, you can then use
the traits in your existing classes.
📝 Usage
yii\db\Migration
Migration@fillColumn(string $table, string $column, $value)
Set the default value of an existing column.
<?php use yii\db\Migration; use ImLiam\Yii2Traits\MigrationHelpers; class m180524_091606_run_migration extends Migration { use MigrationHelpers; public function safeUp() $this->addColumn('users', 'country', 'string'); $this->fillColumn('users', 'country', 'GB'); } }
yii\db\ActiveRecord
ActiveRecord@firstOrCreate(array $attributes, array $values = []): self
Get the first record matching the attributes or create it. Perfect for handling pivot models.
<?php use yii\db\ActiveRecord; use ImLiam\Yii2Traits\ActiveRecordHelpers; class User extends ActiveRecord { use ActiveRecordHelpers; } $user = User::firstOrCreate(['id' => 1], ['username' => 'Admin']); // Returns user ID 1 if it exists in the database, or creates // a new user with the ID of 1 and username of 'Admin'
ActiveRecord@create(array $attributes): self
Create a new instance of the model and persist it.
<?php use yii\db\ActiveRecord; use ImLiam\Yii2Traits\ActiveRecordHelpers; class User extends ActiveRecord { use ActiveRecordHelpers; } $user = User::create(['username' => 'Admin']); // Creates and returns a new user with the username of 'Admin'
ActiveRecord@make(array $attributes): self
Create a new instance of the model without persisting it.
<?php use yii\db\ActiveRecord; use ImLiam\Yii2Traits\ActiveRecordHelpers; class User extends ActiveRecord { use ActiveRecordHelpers; } $user = User::make(['username' => 'Admin']); // Makes a new user with the username of 'Admin' but does NOT save it to the database
ActiveRecord@deleteIfExists(array $attributes)
Delete a model matching the given attributes.
<?php use yii\db\ActiveRecord; use ImLiam\Yii2Traits\ActiveRecordHelpers; class User extends ActiveRecord { use ActiveRecordHelpers; } User::deleteIfExists(['username' => 'Admin']); // Deletes all users with the username of 'Admin'
ActiveRecord@first(string $orderBy = null)
Get the first instance of a model.
<?php use yii\db\ActiveRecord; use ImLiam\Yii2Traits\ActiveRecordHelpers; class User extends ActiveRecord { use ActiveRecordHelpers; } $user = User::first(); // Returns the first user in the database
✅ Testing
composer test
🔖 Changelog
Please see the changelog file for more information on what has changed recently.
⬆️ Upgrading
Please see the upgrading file for details on upgrading from previous versions.
🎉 Contributing
Please see the contributing file and code of conduct for details on contributing to the project.
🔒 Security
If you discover any security related issues, please email liam@liamhammett.com instead of using the issue tracker.
👷 Credits
♻️ License
The MIT License (MIT). Please see the license file for more information.