问题标签 [yii-relations]

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 回答
2926 浏览

forms - Yii中如何用一个表格连接两个表格

我最近被介绍到 Yii 框架中,目前正在为我的公司开发一个 Web 应用程序系统。但是我注意到,在创建模型以提供与相应表的连接时,它一次只允许选择一个关系。但是,我需要用一个表单连接来自同一个数据库的两个单独的表。

关于如何实现这一点的任何想法?

0 投票
1 回答
135 浏览

activerecord - 建立模型 YII activerecord 的特定关系

我正在尝试使用 CGridView 显示车辆模型。

为了显示 Fld7465RRef 引用列的值,需要以下 sql 选择:

我找不到为此查询建立关系的解决方案。

0 投票
1 回答
341 浏览

caching - Yii 关系导致不存在的项目(缓存问题?)

我已经设置了关系:'teamDrivers' => array(self::HAS_MANY, 'TeamDriver', 'team_id')在我的团队模型中

因此,如果我愿意,我可以:print_r($this->teamDrivers);在我的团队中。只是为了演示。

现在的问题是,这种代码会生成一个已经从数据库中删除的项目列表!通过CActiveDataProvider这些CDbCriteria项目未到达。

如果我从我的应用程序中注销然后重新登录,一切似乎都正常。

那么是否有一些缓存可以处理这些关系,或者这个谜团是什么?以及如何清除该缓存?

0 投票
2 回答
5650 浏览

join - 改变 Yii 中的关系条件

我遇到了一个小问题,我需要你的帮助。我想连接两个表,但连接还有其他条件,而不仅仅是外键。我尝试设置条件参数,但它在我的查询中创建了一个 WHERE,这将导致我的主表将被过滤而不是连接的表。

这将是条件->

0 投票
0 回答
140 浏览

php - 如何在模型中建立条件关系?

我在应用程序中有两种类型的配置文件,它们是两个不同的表。例如,个人资料在“person”表中,其 ID 以“p”开头,而企业资料在“business”表中,其 ID 以“b”开头。

我有一个“喜欢”表,可以在帖子和个人资料之间创建关系。但是,轮廓是条件关系;如果 profile_id 以 'b' 开头,则应为 Business 模型,如果不是,则应为 'Person' 模型。

我试图在模型的关系()方法中加入一个 if 语句。但是,在那个阶段,属性没有初始化,我得到一个错误。我尝试使用 afterFind() 和 afterConstruct() 来添加与模型元数据的关系(使用 CActiveRecordMetaData::addRelation())。当我在 afterFind 或 afterConstruct 中呼应关系的类型时,它们都是应有的。但是,由于某种原因,当我尝试遍历某些结果并访问关系时,它们都被标识为业务。当我在添加关系之后调用 CActiveRecord::refresh() 时,我收到一个错误,说达到了 100 个嵌套函数调用的限制。

如何实现这种条件关系?

0 投票
2 回答
4192 浏览

yii - Yii如何计算相关模型(getRelation with params)?

我有一个名为“relationName”的 HAS_MANY 关系,

所以我可以使用所有相关模型

或使用

我还可以通过添加参数获得相关模型的子集

所以,我会得到所有相关模型的一个子集,其中fieldName = " val "

但我怎么数呢?

这个想法看起来很糟糕(因为它将采用所有模型然后计算它们):

我需要一些最终会使用 COUNT() 构建查询并返回结果的东西。

使用 STAT 关系看起来也是个坏主意(因为我已经在代码中描述了关系,为什么要重复关系的描述?)

那么,有没有什么好的解决方案来计算具有动态参数的相关(HAS_MANY)模型?

0 投票
1 回答
477 浏览

yii - Yii如何从关系表中获取更多数据

我有 3 张桌子:

  1. 数字(身份证,姓名)
  2. 食物(身份证,姓名)
  3. numbers_food (number_id, food_id, price_per_ad, price_per_ch)

如何从numbers_food关系表中获取每个food_id的price_per_adprice_per_ch数据?

0 投票
1 回答
857 浏览

yii - 在 Yii 中加入自己的模型会导致非对象错误

我有一个包含这些字段的模型:

我在这张表中存储了一个分层结构。

somw 示例记录是:

在管理(管理)页面的网格视图中,我想显示父名称而不是其 ID。所以我在模型(东西)中定义了这种关系。

并认为:

但是我在管理页面上收到“尝试获取非对象的属性”错误。似乎是因为根专利的 parent_id 为 '0' 并且没有 id=0 的记录。

我该如何处理这个问题?

提前谢谢你。

0 投票
2 回答
123 浏览

php - 如何建立关系以在 Cgridview 中显示 4 个表的列

我有一个要求,我需要在 3 个以上的表之间建立关系。我有 4 个表,即 Message、Flat、Person、Mapping 表。现在,下表具有以下字段:

留言

映射

平坦的

现在,我必须以这样一种方式建立关系,即在 Message 的 Cgridview(admin.php) 中,我应该显示平面表的 PersonId 和 Person 表的 Name 和 Phone 以及 Message 表的列。

我在消息(message.php)的模型类中定义了这样的关系

谁能解释我在消息网格视图中显示人员表列的分步过程。

0 投票
1 回答
56 浏览

yii - 如何将 Yii 活动记录查询的结果与关系和范围相匹配

这是我的代码

我可以获取表空缺中列的值,但不能从其他表中获取,对此有什么帮助吗?

对不起,我是 Yii 的新手