laravel - 如何在 Laravel 的 hasManyThrough 关系中删除 laravel_through_key
问题描述
我有一个 hasManythrough 关系。如下:
public function contacts(){
return $this->hasManyThrough(ContactContent::class, Content::class,"id",'as_parent_content_id','as_parent_content_id','id');
}
public function getSupportElementsAttribute(){
return [
"contacts" => $this->contacts,
"documents" => $this->documents,
"assignments" => $this->assignments
];
}
这个返回是这样的:
"contacts": [
{
"id": 66,
"as_parent_content_id": 5074,
"created_at": "2020-09-30 16:21:11",
"updated_at": "2020-09-30 16:21:11",
"create_user_id": 1,
"laravel_through_key": 5074
}
],
如何删除这个 laravel_through_key ?
解决方案
您可能想从收藏中隐藏此列吗?然后 :
$user = User::with('posts')->get();
$user->makeHidden('laravel_through_key');
现在laravel_through_key
将从您的收藏中隐藏。
替代解决方案:添加laravel_through_key
模型的$hidden
属性,如下:
protected $hidden = [
'laravel_through_key'
];
推荐阅读
- arrays - ruby/索引哈希/空 nil
- neo4j - Neo4j 的社交推荐
- elasticsearch - 如何使用 Elasticsearch 搜索所有同义词?
- android - Oreo 没有从 Schedule Job 调用 onLocationChanged 方法
- python - 在 QlikView 11 中执行 Python 脚本
- nlp - 当词汇量非常大时,替代单热编码以输出到模型
- angular - 检查 p-multiSelect PrimeNG 的 columnoptions 元素在数组末尾添加相关列
- google-chrome - WebRTC 自动授予对用户媒体的访问权限
- html - 将带有悬停图像的圆圈放置在特定位置
- c# - 参考没有特定版本号的 .net 参考