问题标签 [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.
yii - Yii cgridview cactivedataprovider 无法正常工作
我按照文档中的说明配置了 Yii cactivedataprovider:
因此,当 ->together 为 false 时,gridview 正常工作并获取分页允许的所有行,但在这种情况下,比较(所以搜索)不起作用(因为这种方式不使用 sql 查询中的相关对象),
但是当 ->together 为真(据说这是解决方案)时,比较正在工作,但 gridview 在每页中获得随机数的行。
感谢您的帮助。
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' 值。任何提示表示赞赏!
search - CGridView 按日期过滤
很抱歉文字很长,但我的问题很长:-)我做了这样的网格
然后我想按日期过滤,如标题过滤,按文本字段。我用代码制作了控制器
并在模型中搜索方法
我不会忘记规则()
我有两条关于今天日期的记录。标题过滤工作正常,但是当我在“create_time”列过滤文本字段中键入“2015”并按 Enter 时,我得到“未找到结果”。
我试过这个:
它似乎有效,但在我的数据库中,create_time 是整数(11)(必需),listdata 值是数字而不是日期,代表完整日期,而不仅仅是年份。我控制器我从 create_time 记录的值中创建了具有唯一年份值的数组。输出数组,如$rok['2015'] => '2015'
我发送 $rok 来查看和
和
但后来我在过滤时得到“找不到结果”。我做错了什么?
join - Yii Criteria-> 有无关系或无 'on'
如何criteria->with()
在查询中创建“打开”或没有“默认关系”?
我想用它CGridView
在 YII 中搜索dataProvider
.
或者有没有其他方法可以让diapakai克服这个问题?
yii - 从 yii1 的三个表中收集数据?
我是新来的YII1
。我有三个表Jd
:jda
和user
。与jd
和的关系jda
是
jda
和之间的关系user
是
我的桌子是:
jd->id,name
jda->id,jd_id,user_id
用户->id,supervisor_id
supervisor_id
来自用户表ID。现在我想从jd
模型中显示那些supervisor_id
登录 id 的用户的数据。
php - Yii:关系 CActiveDataProvider 不起作用,出现错误“找不到列:1054 未知列”
我正在尝试以 CActiveDataProvider 样式获取数据,以便将数据传递给相应视图中的 CGridView。
我尝试以这种方式使用 CActiveData Provider 获取关系数据:
我有三个表如下:
CREATE TABLE
tbl_test_location
(locationId
int(11) NOT NULL AUTO_INCREMENT,locationName
varchar(255) DEFAULT NULL, PRIMARY KEY (locationId
)) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;CREATE TABLE
tbl_test_user
(userId
int(11) NOT NULL AUTO_INCREMENT,userName
varchar(255) DEFAULT NULL, PRIMARY KEY (userId
)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;创建表
tbl_test_location_user_assignment
(locationId
int(11)NOT NULL,userId
int(11)NOT NULL,主键(locationId
,userId
),键fk_tlua_user
(userId
),约束外fk_tlua_location
键(locationId
)引用tbl_test_location
(locationId
)删除级联,约束外fk_tlua_user
键(userId
)引用tbl_test_user
(userId
)删除级联) 引擎=InnoDB 默认字符集=utf8;模型中的关系是:
/models/TestLocation.php
/models/TestUser.php
- 控制器中名为 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,
));
}
- 观点是:
意见/testLocation/index.php
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
)); ?>
我收到了这个错误:
应用程序日志:
有人可以帮助我吗,我尝试了很多方法来编写关系 CActiveDataProvider 但我总是得到同样的错误......
非常感谢你的帮助!
gridview - yii dataprovider 返回错误 500
我尝试定义dataprovider
for CGridView
inyii
但我得到了这个
错误 500:试图获取非对象的属性
以下是我的模型和 view/admin.php 代码片段
模型.php:
管理员.php:
任何帮助将不胜感激,谢谢!
php - 在 yii 中同时使用 CActiveDataProvider 和 CdbCriteria 时,第二个表值未显示在视图中
我有两个表,表名和字段在下面列出
我想执行以下查询
我有一个模型 Company.php 我定义了以下关系
在相应的函数中我写了代码
我通过提供者来查看 在视图文件中我写了代码
但是第二个表的字段(用户名)的值没有显示在列表中。我搜索了很多并尝试了很多选项。任何人都可以让我知道这个问题的解决方案提前谢谢
php - MySql 数据透视表到 Yii CActiveDataProvider
我有一个表结构如下:
请同时检查 SQL 小提琴。http://sqlfiddle.com/#!9/1a579/3
使用此查询加载数据。
我怎样才能将它形成一个CDbCriteria
对象和CActiveDataProvider
?我需要将这些数据加载到 acgridview
并允许使用 搜索自定义列cgridview filters
。
目前这就是我所做的:
print_r($customField) 的输出:
mysql - 如何限制对 ActiveDataProvider 的查询?
例如,我正在尝试进行查询以获取前10 条记录,并将其传递给ActiveDataProvider
.
查询工作正常并仅返回所需数量的记录,同时ActiveDataProvider
打印所有记录,这是我的代码: