【发布时间】:2012-02-14 12:15:20
【问题描述】:
我有这样的数据库
=== Invoice ===
id
customer_id (FK)
description
=== Customer ===
id
firstname
lastname
我对这两种表单都有多模型,以便将 Cstomer 表加载到 Invoice 中。这样我就可以从一个视图轻松访问这两个模型。为此,我在这两个模型中都建立了关系,就像这样 Invoice模型中的realtion是这样的
public function relations()
{
return array(
'customer' => array(self::BELONGS_TO,'Customer','customer_id'),
);
}
在客户模型中,关系是这样的
public function relations()
{
return array(
'invoice' => array(self::HAS_MANY, 'Invoices','customer_id')
);
}
一切正常。但是当我在 Invoice 控制器文件中执行 actionUpdate() 时,没有定义 Customer 模型。所以我把它定义成这样
public function actionView($id)
{
$this->render('view',array(
'model'=>$this->loadModel($id),
'customers'=>Customers::model()->findByPk(array('customer_id'=>$_GET['id']));
));
}
它显示为未定义的偏移量:0。我希望在 ('customer_id'=>$_GET['id']) 中显示 id 的值,以便我可以轻松地显示和更新每个 id 的值。 如果我给出这样的值
public function actionView($id)
{
$this->render('view',array(
'model'=>$this->loadModel($id),
'customers'=>Customers::model()->findByPk(28);
));
}
它很容易显示来自客户 ID 的价值。那么如何获得这些值呢?任何帮助和建议都将非常有用。
【问题讨论】:
标签: mysql yii relational-database