问题标签 [cactivedataprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

yii - Yii cgridview cactivedataprovider 无法正常工作

我按照文档中的说明配置了 Yii cactivedataprovider:

因此,当 ->together 为 false 时,gridview 正常工作并获取分页允许的所有行,但在这种情况下,比较(所以搜索)不起作用(因为这种方式不使用 sql 查询中的相关对象),

但是当 ->together 为真(据说这是解决方案)时,比较正在工作,但 gridview 在每页中获得随机数的行。

感谢您的帮助。

0 投票
1 回答
355 浏览

php - CActiveDataProvider 使用关系从另一个表访问外键数据

我使用 Yii 应用程序进行了相对简单的设置,但在以下情况下我很难跨表访问数据:

两张表:

payments_info (id, data):其中 id 是主自增键,模型类名称 PaymentInfo

payments (id, payment_id, other_columns): 这里 id 又是一个主键, payment_id 是外键,指向 payment_info 表中的一条记录,模型类名 Payment

在 Payment 模型类中的关系数组中,我有以下内容:

我没有在 PaymentInfo 模型的关系中添加任何内容,因为从技术上讲,它对另一个表一无所知。

我有一个控制器从 Payments 模型创建一个 CActiveDataProvider 并显示所有记录。在其中,我想要一个字段来显示 PaymentInfo 模型中的“数据”列,但我不知道如何到达那里。

在控制器的 cdbcriteria 中,用于创建我尝试使用的数据提供程序:

然后在视图中,在 CGridView 的 columns 变量中,它显示了我添加的数据提供者:

我还尝试了在 $data 变量周围添加 ' 或 " 的不同组合,但到目前为止没有成功。我设法显示正确的 payment_id 但我不知道如何显示另一个表中的 'data' 值。任何提示表示赞赏!

0 投票
1 回答
424 浏览

search - CGridView 按日期过滤

很抱歉文字很长,但我的问题很长:-)我做了这样的网格

然后我想按日期过滤,如标题过滤,按文本字段。我用代码制作了控制器

并在模型中搜索方法

我不会忘记规则()

我有两条关于今天日期的记录。标题过滤工作正常,但是当我在“create_time”列过滤文本字段中键入“2015”并按 Enter 时,我得到“未找到结果”。

我试过这个:

它似乎有效,但在我的数据库中,create_time 是整数(11)(必需),listdata 值是数字而不是日期,代表完整日期,而不仅仅是年份。我控制器我从 create_time 记录的值中创建了具有唯一年份值的数组。输出数组,如$rok['2015'] => '2015'

我发送 $rok 来查看和

但后来我在过滤时得到“找不到结果”。我做错了什么?

0 投票
2 回答
354 浏览

join - Yii Criteria-> 有无关系或无 'on'

如何criteria->with()在查询中创建“打开”或没有“默认关系”?

我想用它CGridView在 YII 中搜索dataProvider.

或者有没有其他方法可以让diapakai克服这个问题?

0 投票
1 回答
432 浏览

yii - 从 yii1 的三个表中收集数据?

我是新来的YII1。我有三个表Jdjdauser。与jd和的关系jda

jda和之间的关系user

我的桌子是:

jd->id,name
jda->id,jd_id,user_id
用户->id,supervisor_id

supervisor_id来自用户表ID。现在我想从jd模型中显示那些supervisor_id登录 id 的用户的数据。

0 投票
2 回答
432 浏览

php - Yii:关系 CActiveDataProvider 不起作用,出现错误“找不到列:1054 未知列”

我正在尝试以 CActiveDataProvider 样式获取数据,以便将数据传递给相应视图中的 CGridView。

我尝试以这种方式使用 CActiveData Provider 获取关系数据:

  1. 我有三个表如下:

    CREATE TABLE tbl_test_location( locationIdint(11) NOT NULL AUTO_INCREMENT, locationNamevarchar(255) DEFAULT NULL, PRIMARY KEY ( locationId)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

    CREATE TABLE tbl_test_user( userIdint(11) NOT NULL AUTO_INCREMENT, userNamevarchar(255) DEFAULT NULL, PRIMARY KEY ( userId)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

    创建表tbl_test_location_user_assignmentlocationIdint(11)NOT NULL, userIdint(11)NOT NULL,主键(locationIduserId),键fk_tlua_useruserId),约束外fk_tlua_location键(locationId)引用tbl_test_locationlocationId)删除级联,约束外fk_tlua_user键(userId)引用tbl_test_useruserId)删除级联) 引擎=InnoDB 默认字符集=utf8;

  2. 模型中的关系是:

/models/TestLocation.php

/models/TestUser.php

  1. 控制器中名为 actionIndexOwn 的方法是: 注意:用户可以有多个位置,一个位置可以有多个用户。

/controllers/TestLocationController.php

public function actionIndexOwn() { $dataProvider=new CActiveDataProvider('TestLocation', array( 'criteria'=>array( 'with'=>array( 'tblTestUsers'=>array( 'condition'=>'tbl_test_user.userId=1', ), ), ), )); $this->render('index',array( 'dataProvider'=>$dataProvider, )); }

  1. 观点是:

意见/testLocation/index.php

<?php $this->widget('zii.widgets.CListView', array( 'dataProvider'=>$dataProvider, 'itemView'=>'_view', )); ?>

我收到了这个错误:

应用程序日志:

有人可以帮助我吗,我尝试了很多方法来编写关系 CActiveDataProvider 但我总是得到同样的错误......

非常感谢你的帮助!

0 投票
1 回答
179 浏览

gridview - yii dataprovider 返回错误 500

我尝试定义dataproviderfor CGridViewinyii但我得到了这个

错误 500:试图获取非对象的属性

以下是我的模型和 view/admin.php 代码片段

模型.php:

管理员.php:

任何帮助将不胜感激,谢谢!

0 投票
1 回答
77 浏览

php - 在 yii 中同时使用 CActiveDataProvider 和 CdbCriteria 时,第二个表值未显示在视图中

我有两个表,表名和字段在下面列出

我想执行以下查询

我有一个模型 Company.php 我定义了以下关系

在相应的函数中我写了代码

我通过提供者来查看 在视图文件中我写了代码

但是第二个表的字段(用户名)的值没有显示在列表中。我搜索了很多并尝试了很多选项。任何人都可以让我知道这个问题的解决方案提前谢谢

0 投票
1 回答
418 浏览

php - MySql 数据透视表到 Yii CActiveDataProvider

我有一个表结构如下:

请同时检查 SQL 小提琴。http://sqlfiddle.com/#!9/1a579/3

使用此查询加载数据。

我怎样才能将它形成一个CDbCriteria对象和CActiveDataProvider?我需要将这些数据加载到 acgridview并允许使用 搜索自定义列cgridview filters

目前这就是我所做的:

print_r($customField) 的输出:

0 投票
1 回答
1645 浏览

mysql - 如何限制对 ActiveDataProvider 的查询?

例如,我正在尝试进行查询以获取前10 条记录,并将其传递给ActiveDataProvider.

查询工作正常并仅返回所需数量的记录,同时ActiveDataProvider打印所有记录,这是我的代码: