Orm Symfony 1推进-如何在没有DB select like RETRIVEBYPK的情况下通过ID获取对象
我需要将Channel对象设置为ChannelMedia。 我没有通道对象,而是ID。 我可以使用ChannelPeer静态方法retrieveByPK,但这使得Select-to-DB只能获取对象 我如何做到这一点 检查以下代码:Orm Symfony 1推进-如何在没有DB select like RETRIVEBYPK的情况下通过ID获取对象,orm,symfony1,propel,Orm,Symfony1,Propel,我需要将Channel对象设置为ChannelMedia。 我没有通道对象,而是ID。 我可以使用ChannelPeer静态方法retrieveByPK,但这使得Select-to-DB只能获取对象 我如何做到这一点 检查以下代码: $channel = ChannelPeer::retrieveByPK($channelID); $channel_media = new ChannelMedia(); $channel_media->setMedia($this-
$channel = ChannelPeer::retrieveByPK($channelID);
$channel_media = new ChannelMedia();
$channel_media->setMedia($this->object);
// How to pass ID here?
// Alternatively, how to create object from $channelID without DB conn?
$channel_media->setChannel($channel);
$channel_media->setStatus(3);
$channel_media->save();
您的
ChannelMedia
类应该有一个setChannelId()
方法。您可以使用它来设置通道ID,从而避免对DB进行额外调用
$channel_media = new ChannelMedia();
$channel_media->setMedia($this->object);
$channel_media->setChannelId($channelID);
$channel_media->setStatus(3);
$channel_media->save();
谢谢,我不知道我有这样的方法。很简单:)如果你能帮上忙,就不要使用对等类,而是使用ActiveQuery,即
$channel-ChannelQuery::create()findPk($channelID)代码>