什么是通过@soap暴露有关系AR()最聪明的方法是什么?是否可以公开相关的AR,而无需手动将其分配给public @soap成员?是否有可能以某种方式将关系()中定义的关系名称与@soap变量链接起来?
这是关于我在做什么的looong背景。我实际上已经成功地将AR记录与其相关的AR记录分享,但我认为这很混乱,并且想问问是否有人知道更优雅的方式。
背景:
物业型号:
/** @soap @var integer */ public $id;
/** @soap @var string */ public $street;
/** @soap @var string */ public $city;
/** @soap @var integer */ public $fk_state;
/** @soap @var string */ public $property_title;
该工程确定
我已经成功地通过添加具有@soap注释公共变量暴露出AR记录通过SOAP!
我想接下来的事情就是发送一个相关的AR记录的请求(要添加的状态信息的一部分,所以首先我在属性型号为美国模型添加关系式:
/**
* @return array relational rules.
*/
public function relations()
{
return array('STATE' => array(self::BELONGS_TO, 'State', 'fk_state'),);
}
...添加@soap变量State模式太:
/** @soap @var integer */ public $id;
/** @soap @var string */ public $title;
/** @soap @var integer */ public $code;
现在我一个@soap公共变量添加到属性模型来保存相关的AR对象:
/** @soap @var State */ public $_STATE;
这意味着我想通过SOAP发送一个类型为State的对象。
的最后一件事,之前服务的数据是对国家有关AR记录分配给公众@soap变量$ _STATE:
$model->_STATE = State::model()->STATE; // assign related AR object to to the public @soap variable
这是一种混乱的原因是:
- 需要这样做$ model - > _ STATE分配所有的时间
- 它是冗余的,既有相关的AR称为状态和public @soap变量$ _STATE基本上保持相同fo
任何想法?
谢谢!
你可以开发你的想法? – paladin