我在 Yii2 上有一个博客应用程序,其中包含一个非常旧的数据库
我将文本列post.author
替换为关系post.author_id
。
出于支持原因,旧列处于活动状态。
现在,当我尝试使用$post->author->name
时,我首先得到字符串列,而不是关系...
使用getter工作正常$post->getAuthor()->name
,但这很难维护。
是否有一些标准解决方案,忽略post.author
属性,
并赞成作者关系?
答案 0 :(得分:1)
您可以重命名关系。如果您将方法getAuthor
重命名为getPostauthor
,则关系属性将变为postauthor
(自动),您可以通过$post->postauthor->name
答案 1 :(得分:1)
您可以在模型中添加getter:
public function getAuthorName(){ $ author = $ post-> getAuthor() - > one(); 返回$ author? $ author-> name:null; }
或者,重命名关系。