请问定义morphTo多态,在查询的时候 如果根据不同的模型来select不同的字段?
比如有个评论表comments定义了
public function commentable()
{
return $this->morphTo();
}
news表的字段是id, title
article表的字段是id, sub_title
在查询comments记录的时候 如何用with查询,判断如果是 news模型则select id,title, 如果是article模型则select id, sub_title?
with(['commentable' => function ($query) {
// 如果是news
$query->select(['id', 'title']);
// 否则如果是article
$query->select(['id', 'sub_title']);
}])
我了解到的是不支持的,要么表字段都一样,要么就没办法了,查询单条数据的时候只能根据不同来源判断,然后if else 取不同的字段
如果你只是为了显示方便,可以看下 修改器《Laravel 6 中文文档》 是否满足你的需求
news
表模型article
表模型commentable->title