jzfpost/yii2-dynamicfinder

Yii2框架的动态查找特性

安装: 1

依赖者: 0

建议者: 0

安全: 0

星星: 1

关注者: 1

分支: 0

公开问题: 0

类型:yii2-extension

1.2.2 2020-07-16 09:47 UTC

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 条件下的模型属性。