从可修订版获取模型“identifiableName()”
Posted
技术标签:
【中文标题】从可修订版获取模型“identifiableName()”【英文标题】:Getting model "identifiableName()" from revisionable 【发布时间】:2015-01-04 13:00:21 【问题描述】:在revisionable package 中,可以通过在模型上定义identifiableName()
方法,将字段设置为显示而不是id 来获取相关模型的可识别名称。例如。 “名称”或“标题”。
是否可以对不相关的模型做类似的事情。所以说我得到了某个模型的所有修订。例如
$revisions = Venturecraft\Revisionable\Revision::where('revisionable_type', 'post')->get();
如何获得每个修订版的post
中的identifiableName
?
我已经可以使用 $revision->revisionable_id
获取帖子 ID,但我似乎无法找到没有类似 Post::find($revision->revisionable_id)->name
之类的内容的方法来获取帖子名称,这对于大量修订列表来说是昂贵的。
【问题讨论】:
【参考方案1】:对于仍然遇到此问题的任何人。
我认为您可以执行以下操作:
$revision->revisionable->identifiableName();
对我来说很好,只要确保检查帖子没有被删除,否则您将尝试从非对象获取属性。
例如:
if($revision->revisionable)
// Post exists
$revision->revisionable->identifiableName();
else
// Post doesn't exist
【讨论】:
以上是关于从可修订版获取模型“identifiableName()”的主要内容,如果未能解决你的问题,请参考以下文章