【发布时间】:2016-01-20 14:32:51
【问题描述】:
我正在将一个大型项目从 Yii1 升级到 Yii2。我遇到了一些关于 ORM 的问题。
我有几个以下列方式声明的关系(基本上是来自guidebook 的复制粘贴):
class Order extends \yii\db\ActiveRecord {
/* other code */
public function getAffiliate()
{
return $this->hasOne(Affiliate::className(), ['id_affiliate' => 'affiliate_id']);
}
每当我尝试回显或 w/e $order->affiliate->name;我收到以下错误:
yii\base\ErrorException: Trying to get property of non-object
我对 Yii1 没有任何经验。这个项目有点奇怪的是数据库。所有表格都以yii_tablename 开头,ID 为:id_tablename。 Yii1 是否正常,是否会导致上述问题?
编辑:当我像这样执行函数时:$order->getAffilate() 它返回一个 ActiveQuery,没有来自附属公司的数据。
当我执行以下操作时:
$order->getBillingAddress()->one();
我收到一个奇怪的错误:
Getting unknown property: app\models\Order::billing
【问题讨论】:
标签: php activerecord yii orm yii2