我已经创建了rest api call。
我有两张桌子 1.人 - 外键是id 2.联系 - 外键是personId我为这个创建模型是
class Group extends ActiveRecord
{
public function relations()
{
return array(
'user'=>array(self::HAS_ONE,'User','id'),
'contact'=>array(self::HAS_MANY,'Contact','personId')
);
}
}
控制器
public function actionView(){
$group=Group::find();
return $group;
}
这够了吗?它不适合我。如何在yii中建立一对多的关系
答案 0 :(得分:0)
ActiveModel::find()
会返回ActiveQuery
个实例,但它不会运行查询。
您可以使用Group::findOne(primaryKey)
或Group::findAll(condition)
或return $group->one();
或return $group->all();
至于关系(在你的模型中):
public function getUser()
{
return $this->hasOne(User::className(), ['id', 'user']);
}
public function getContact()
{
return $this->hasMany(Contact::className(), ['personId', 'user']);
}
您拨打$group->user
和$group->contact
。确保不要直接使用该函数,它还会返回一个ActiveQuery
实例,这不是您的实际对象。