首页 > 解决方案 > laravel morphable 获取源码

问题描述

我有一个名为documents该表的可变形表,用于存储来自其他表的文件,例如users products等。

到目前为止一切正常,但我还需要在管理面板中获取文档源信息。

例子

doc 1  => product ABC
doc 2 => user XYZ

我需要得到这个product ABCuser XYZ作为每个文件的来源。我怎样才能做到这一点?

代码

controller

public function index()
{
  $documents = Document::orderby('id', 'desc')->get();
  return view('admin.documents.index', compact('documents'));
}

blade

@foreach($documents as $document)
  {{$document->name}}
  // here need source name
@endforeach

任何想法?

更新

模型关系

product model

public function documents()
{
  return $this->morphMany(Document::class, 'documentable');
}

Document model

protected $fillable = [
  'documentable_id', 'documentable_type', 'file', 'download_count',
];

public function documentable()
{
  return $this->morphTo();
}

标签: phplaravel

解决方案


推荐阅读