Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii:从模型的嵌套联接表访问属性_Php_Mysql_Yii_Model_Yii Relations - Fatal编程技术网

Php Yii:从模型的嵌套联接表访问属性

Php Yii:从模型的嵌套联接表访问属性,php,mysql,yii,model,yii-relations,Php,Mysql,Yii,Model,Yii Relations,我有一个“药物”表,它与“非专利药\医药\商品名”表相连。“仿制药-医药-商品名”表包含药物形式,该药物形式在“价值列表”表中引用。从DataProvider获取药物结果集,并显示在ListView中后,我想访问存储在值列表表中的药物表单描述,但使用Yii模型关系。我尝试了以下操作,但不起作用: 'genMedStrnDrgform' => array(self::BELONGS_TO, 'GenericsMedTradenames', 'gen_med_strn_drgform_id')

我有一个“药物”表,它与“非专利药\医药\商品名”表相连。“仿制药-医药-商品名”表包含药物形式,该药物形式在“价值列表”表中引用。从
DataProvider
获取药物结果集,并显示在
ListView
中后,我想访问存储在值列表表中的药物表单描述,但使用Yii模型关系。我尝试了以下操作,但不起作用:

'genMedStrnDrgform' => array(self::BELONGS_TO, 'GenericsMedTradenames', 'gen_med_strn_drgform_id'), -- This is okay, I can access the attributes 
'drugForm' => array(self::BELONGS_TO, 'ListOfValues', 'genMedStrnDrgform.drug_form_id'), -- This does not work since it is nested. Yii thorws error.
为了进一步解释我想要什么,我还以SQL查询的形式解释了同样的内容(放置快照,因为缩进很难以正确的方式表示我的问题):

回复后编辑: 我需要显示描述中的药物,并在ListView文件中尝试了以下操作,但两者都不起作用: 药品表单->组显示值

"$data->genMedStrnDrgform->drugForm->group_display_val"
 "$data->drugForm->group_display_val" 

放入
药物中

'genMedStrnDrgform' => array(self::BELONGS_TO, 'GenericsMedTradenames', 'gen_med_strn_drgform_id')
放入
GenericsMedTradenames

'drugForm' => array(self::BELONGS_TO, 'ListOfValues', 'drug_form_id')
然后执行如下查询:

$posts=Medication::model()->findAll(array(
    'with'=>array(
        'genMedStrnDrgform',
        'genMedStrnDrgform.drugForm'
    )
));

如何访问ListView文件中的“药物表单->组显示值”。我试过这个“$data->GENMEDSTRNGFORM->DRGform->drugForm->group_display_val”和“$data->drugForm->group_display_val”,但这两个都不起作用。这是我开始时遇到的实际问题。无论如何,感谢您的支持。这是另一个问题,但如果您已经完成了“with”和“with”的话“那它就在那里。您还需要确保正确设置了每个关系。如果你达到了另一个被阻止的级别,请用新的细节更新你的问题。很高兴你们两人相互理解-我没有任何疑问IDEA@Pentium10我已经更新了原来的问题。我想知道你是否可以分享一些关于获取“$data->genMedStrnDrgform->drugForm->group\u display\u val”的想法。谢谢。经过详细调查,我发现有些行没有引用id,因为出现了空值,导致“$data->genMedStrnDrgform->drugForm->group_display_val”失败。这是正确的,现在起作用了。