在revisionable package中,可以通过在模型上定义identifiableName()
方法来获取相关模型的可识别名称,将字段设置为显示而不是id。例如。 '名称'或者'标题'。
是否可以与不相关的模型做类似的事情。所以说我得到了某个型号的所有修改版。 E.g。
$revisions = Venturecraft\Revisionable\Revision::where('revisionable_type', 'post')->get();
如何获得每次修订的identifiableName
post
?
我已经可以使用$revision->revisionable_id
获取帖子ID但我似乎无法找到一种方法来获取帖子名称,而不需要像Post::find($revision->revisionable_id)->name
这样的内容,这对于大量修订列表来说是昂贵的
答案 0 :(得分:0)
对于仍有此问题的人。
我认为你可能会做类似的事情:
$revision->revisionable->identifiableName();
对我来说很好,只要务必检查帖子是否已被删除,否则您将尝试从非对象获取属性。
例如:
if($revision->revisionable){
// Post exists
$revision->revisionable->identifiableName();
}else{
// Post doesn't exist
}