相关疑难解决方法(0)

Yii2 SearchModel中的search()如何工作?

有人可以解释一下searchYii2中的方法是如何SearchModel工作的吗?我用Gii生成它.这里是:

public function search($params){
    $query = MyModel::find();
    $dataProvider = new ActiveDataProvider([
        'query' => $query,
    ]);

    if (!($this->load($params) && $this->validate())) {
        return $dataProvider;
    }

    $this->addCondition($query, 'att1');
    $this->addCondition($query, 'att1', true);
    $this->addCondition($query, 'att2');
    $this->addCondition($query, 'att2', true);

    return $dataProvider;
}
Run Code Online (Sandbox Code Playgroud)

这就是我所说的:

$search = new MyModelSearch();
$myModels = $search->search(['att3' => '3']);
Run Code Online (Sandbox Code Playgroud)

无论我在调用中使用什么属性search,我总是得到相同的结果 - 即表中的所有条目.我在这里遗漏了一些我不明白的东西.

任何帮助将非常感激.谢谢.

php yii yii2

28
推荐指数
1
解决办法
4万
查看次数

在GridView中过滤相关模型的设置

我试图在Yii2的GridView小部件中为相关模型设置过滤器,但我不断得到错误,因为过滤器值必须是整数.

我跟着这个问题.现在,我有两个型号Services.phpServiceCharge.php.

ServiceCharge.php关系设置如下:

public function getServiceName()
    {
        return $this->hasOne(Services::className(),['id'=>'service_name']);
    }
Run Code Online (Sandbox Code Playgroud)

ServiceChargeSearch.php代码中是这样的:

<?php

namespace app\models;

use Yii;
use yii\base\Model;
use yii\data\ActiveDataProvider;
use app\models\ServiceCharges;

/**
 * ServiceChargesSearch represents the model behind the search form about `app\models\ServiceCharges`.
 */
class ServiceChargesSearch extends ServiceCharges
{
    /**
     * @inheritdoc
     */
    public function attributes()
    {
        // add related fields to searchable attributes
      return array_merge(parent::attributes(), ['serviceName.services']);

    }
    public function rules()
    {
        return [
            [['id'], 'integer'],
            [['charges_cash', …
Run Code Online (Sandbox Code Playgroud)

php gridview yii yii2

3
推荐指数
1
解决办法
8840
查看次数

标签 统计

php ×2

yii ×2

yii2 ×2

gridview ×1