jzfpost / yii2-dynamicfinder
Yii2框架的动态查找特性
1.2.2
2020-07-16 09:47 UTC
Requires
- yiisoft/yii2: >=2.0.4
This package is not auto-updated.
Last update: 2024-09-21 05:16:25 UTC
README
为Yii2框架的ActiveRecord模型提供动态查找特性
安装
推荐通过 composer 安装此扩展。
运行以下命令之一:
php composer.phar require --prefer-dist jzfpost/yii2-dynamicfinder "*"
或
"jzfpost/yii2-dynamicfinder": "*"
将以下内容添加到您的 composer.json
文件的 require 部分:
使用方法
模型
use jzfpost\dynamicfinder\DynamicFinderTrait; class Customer extends \yii\db\ActiveRecord { use DynamicFinderTrait; your code... }
控制器
$model = Customer::findOneByEmail($email); // return Customer::find()->where(['email' => $email])->one(); $customers = Customer::findAllByEmail($email); // return Customer::find()->where(['email' => $email])->all(); $count = Customer::findCountByEmail($email); // return Customer::find()->where(['email' => $email])->count(); $username = Customer::findUsernameByEmail($email); // return username value where email=$email; $updatedAt = Customer::findUpdatedAtByEmailOrUsername($email, $username); // return updated_at value where email=$email or username = $username; $createdAt = Customer::findCreatedAtByEmailAndUsername($email, $username); // return created_at value where email=$email and username = $username; $customers = Customer::findByEmail($email) equivalently Customer::findAllByEmail($email);
语法
findBy<Field>(field_value)
find<Select>By<Field>(field_value)
find<Select>By<Field1>And<Field2>(field_value1, field_value2)
find<Select>By<Field1>Or<Field2>(field_value1, field_value2)
where
'Select' 可以是 'All'、'One'、'Count' 或模型属性之一。如果未设置 'Select',则默认返回 'All'。
'Field' 是 where 条件下的模型属性。