morphTo关联获取多模型时,如何设置每种模型指定select的字段?
假设有三个表
posts
| 字段 | 类型 |
|---|---|
| id | int |
| title | varchar(64) |
| created_at | timestamp |
threads
| 字段 | 类型 |
|---|---|
| id | int |
| content | text |
| created_at | timestamp |
comments
| 字段 | 类型 |
|---|---|
| id | int |
| target_type | varchar(64) |
| target_id | int |
| content | text |
| created_at | timestamp |
按照文档 Comment 模型写上
public function target()
{
return $this->morphTo();
}
当我获取评论列表并且预加载 target
$comments->loadMissing(['target']);
我的问题就是如何指定字段,比如 target 是 Post 时,只选择 “id”, “title” 字段,target 是 Thread 时,只选择 “id”, “content” 字段。
关于 LearnKu
推荐文章: