5

在可修订包identifiableName()中,可以通过在模型上定义方法,将字段设置为 display 而不是 id来获取相关模型的可识别名称 。例如“名称”或“标题”。

是否可以对不相关的模型做类似的事情。所以说我得到了某个模型的所有修订。例如

$revisions = Venturecraft\Revisionable\Revision::where('revisionable_type', 'post')->get();

我怎样才能得到每个修订identifiableName的版本?post

我已经可以获取帖子 ID,$revision->revisionable_id但我似乎无法找到一种方法来获取帖子名称,而没有类似的东西Post::find($revision->revisionable_id)->name对于大量修订列表来说是昂贵的。

4

1 回答 1

0

对于任何仍然有这个问题的人。

我认为您可以执行以下操作:

$revision->revisionable->identifiableName();

对我来说很好,只要确保检查帖子没有被删除,否则您将尝试从非对象获取属性。

例如:

if($revision->revisionable){
   // Post exists
   $revision->revisionable->identifiableName();
}else{
   // Post doesn't exist
}
于 2017-04-05T15:17:22.787 回答