问题标签 [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.
php - Yii:从模型的嵌套连接表访问属性
我有一个表“MEDICATION”,它与“GENERICS_MED_TRADENAMES”表相连。“GENERICS_MED_TRADENAMES”表包含在 LIST_OF_VALUES 表中引用的药物形式。在得到 MEDICATION 的结果集后DataProvider
,ListView
我想使用 Yii 模型关系访问存储在 LIST_OF_VALUES 表中的 DRUG_FORM 描述。我尝试了以下但没有奏效:
为了进一步解释我想要什么,我还以 SQL 查询的形式解释了相同的内容(放置快照,因为缩进很难以正确的方式提出我的问题):
Pentim10回复后编辑:
我需要显示 DrugFrom 描述并在 ListView 文件中尝试了以下操作,但两者都不起作用:drugForm->group_display_val
yii - Yii 关系试图获取非对象的属性
我有这些桌子
学生
id_estudiante pk 名称_estudiante
评价
id_evaluacion pk evaluacion_estudiante evaluacion_asignatura
签名
id_asignatura pk nombre_asignatura
在评估模型关系
evaluaciones 的 _view 文件我有这个
并且在那条线上有一个错误,这似乎是关系的问题..但我无法解决它。
试图获取非对象的属性
linux - Yii 关系在 Linux 上返回 null
我面临一个奇怪的问题。我在 Windows 上制作了一个应用程序,我正在尝试将它部署到 Linux。我知道案件的问题,并在可能的地方进行了纠正,但这次我不知道该怎么办。
我有以下模型:
其中applied_teams 返回null,但不四舍五入。记录在数据库中是正确的。您知道这两个操作系统之间会有什么不同吗?
更新
我已经写了一个解决方法,但还没有找到问题的原因。getter方法在linux上没有问题:
php - 易。AppCompany 类的对象在验证时无法转换为字符串
我一直在尝试为我的 AR 关系实现这一点: http ://www.yiiframework.com/wiki/19/how-to-use-a-single-form-to-collect-data-for-two-or -more-models/ 并做:
然后,当我尝试创建一个新应用程序并输入所有有效数据时 - 此数据成功保存到两个表中。但是,如果我将某些字段留空(虽然它们是必需的),则会出现此错误:AppCompany 类的对象在验证时无法转换为字符串。
拜托,你能帮我弄清楚我的错误吗?
php - 易。如何在三个模型之间建立关系和crud(A->B->C)
甚至无法想象如何实现下一个功能。 我们有什么:
表一:应用
id - name - //其他列
表 2:app_company
id - company_name - region_id - 申请人id - //其他列
表 3:app_region
id - region_name
我已经建立了下一个关系:应用程序模型(一对一的关系):
应用公司型号:
AppRegion 模型(顺便问一下,我真的需要这个模型吗?):
这是我的 ApplicationContoller 的 actionCreate:
我的_form;
因此,在创建应用程序时(并且应用程序是父模型),我可以通过下拉列表为AppCompany模型选择区域标题。因此,当我选择 app_region 表中的“塔什干地区”时,我将该地区的 ID(例如,7)插入到 app_company 的 region_id 列中。
之后我有一个视图文件:
所以,问题是:是否可以显示位于 THIRD 表中的区域名称,它们之间无法建立直接关系?
谢谢大家,我希望我能解释清楚我需要什么。
php - Yii. Application form. Adding info about user company + SEVERAL goods in one form
Don't know, if it is a typical problem, but can't figure how to realise it. 3 tables: Application. It's relations:
AppCompany. Relations:
App.GoodsServices. Relations:
So, one user adds info about his company (company_name, date_of_registration etc), and than add some goods/services that this company produces. How to COLLECT, UPDATE AND VIEW all this information in one form? Is it possible?
How do I see this: User addes some info and meets the field: "Goods and services and their percentage" and two fields - "GOODS AND SERVICES" and "PERCENTAGE" and ADD MORE button and he has 6 goods that he wants to add. So, he clicks on ADD MORE button and each time the new fields below appear. But the goods limit is 5, so the button becomes inactive after 5 fields have info.
And after SUBMIT button, all this info records to its table. It can be taken from table on UPDATE button and can be viewd in one CDetailView.
Please, how it can be implemented at least in general terms. Thank you
UPDATE Ok, some work is done (don't know if it right, but...):
I used this extension: http://www.yiiframework.com/extension/esaverelatedbehavior/
Now I have:
In my _form.php
and subform in goods/_form:
Everything works, but I cant understand how to make a batch CREATE for children (goodsservices) model. Now it only shows me children in UPDATE form (I've made some records straight into DB) with DELETE button near each. But how to implement CREATE? So, one empty row should be visible and I could ADD other rows on click "Add row"?
php - 易。在 AJAX 操作上动态添加行
我在 _form 中有一个链接:
renderPartial child _form 的一些代码:
并使用 AJAX 编写脚本:
在我的控制器中:
最后是我的孩子_form:
我需要当我的按钮被单击时,应该动态呈现子 _form,但 id 不起作用。我在这里想念什么?
php - yii 从与相关表相关的表中获取总和
我有这些现有的表可以使用,无法更改它们。我已经付出了一切,但无法找到解决方法。即使我解释这个问题也很复杂,所以请多多包涵。
我正在使用带有 Yii 1.1.x、Windows、Wamp 的 Oracle 10g。
模型已创建。我需要获取日期范围内给定 SALESEXEC 的 PRESALES 总和。
上述工作,我可以得到我当前的总销售额与每个 SALESEXEC 我还需要一个 PRESALES_TOTAL,完全卡在那里
SALES EXEC 与 CURSALES 是一对多关系。
此表存储所有以前的销售。它通过 customernumber 和 jobnumber 与 CURSALES 相关联。
我需要这个预售金额的总和作为 SALESEXEC 的财产。
如示例中所示,如果我将 salesdate 范围传递为 01-08-2014 和 15-08-2014,它应该在 SUM 中包括 PRESALES 第一行但不包括第二行,因为它具有 cus2 映射到 CURSALES 的第二行但是它的销售日期超出了我给定的日期范围。
我在 SALESEXEC 模型 'PRESALES_TOTAL' => array(self::STAT, 'PRESALES', 'id', 'select'=>'SUM(AMOUNT)') 中尝试了这个,但它返回所有以前的销售而不匹配日期范围以及工作编号和客户编号
我在关系中尝试了“通过”子句,但它对 STAT 无效
实际上,我将传递一个 SALESEXEC id 和日期范围的列表,它需要转到 CURSALES 并获取与日期范围匹配的数据,然后需要转到 PRESAL 并获取这些客户编号的上一年销售额和工作编号)。我需要在 CGridView 中显示 SALESEXEC 列表及其总销售额和以前的总销售额。
非常感谢!
php - Yii 和关系查询
我有一些具有外键引用的表:
User
-> Tech
-> TechSchedule
-> Location
->Customer
似乎我可以使用以下查询一次将任何相关数据提供给用户。考虑以下查询:
打印出来
这是正常行为吗?如果是这样,经历编写关系查询的麻烦的目的是什么,例如
$model = User::model()->with('Tech.TechSchedule.Location.Customer')->findByPk( Yii::app()->user->id );
mysql - Yii1中关系的复杂过滤
目前我遇到了一个我无法优雅地解决的问题。给定的是这个(简化的)数据库设计
每个视频都有许多统计数据。到目前为止,它是一个正常的 1-n 关系,但是有一些限制。
我想获取n 个预先加载了当前统计信息的视频。一个视频一次只有 *n 个当前统计信息,其中 n 是具有相同 video_id 的统计信息的指标数量(不同的metric_id)*
为了实现这一点,我发现唯一可能的解决方案是一个非常复杂的查询,如下所示:
这是简化的(因为我只查询一个视频。在我完成的解决方案中,我想将它理解为所有或多个视频)。
- 最内层查询:获取按日期降序排列的给定视频的所有统计信息
end
(因为我只想要视频的最新统计信息)。 - 内部查询:按 video_id 和 metric_id 对先前抓取的统计信息进行分组,因为我希望视频的每个统计信息只获取一次
- 外部查询:将过滤后的统计信息与实际视频相结合。
因此,该关系需要一些非常复杂的过滤。我仍然想利用 Yii 的 Active Record 和 Eager Load 所有这些。
有没有办法“挂钩”到关系 joinig 过程(就像更现代的框架一样),或者有什么我可以在这里简化但我忽略的东西?