eloquent - 如何在 eloquent 中使用数据透视表获取类别-> 名称
问题描述
我有四个模型post
postcomment
postcategory
,category
我想获取所有带有评论和类别的帖子。postcategory 表有 post_id 和 category_id 而 category 表有 id 和 category_name 字段
我可以用我的查询记录如下
Array
(
[0] => Array
(
[id] => 1
[post_title] => My First Post
[postcategory] => Array
(
[0] => Array
(
[post_id] => 1
[category_id] => 1
)
)
[postcomment] => Array
(
[0] => Array
(
[id] => 1
[post_id] => 1
[postcomment] => first comment of first post
)
)
)
)
如您在结果数组中所见,我可以从 postcategory 模型中获取 category_id,在这种情况下我如何拥有 category_name
楷模
后模型
public function postcategory()
{
return $this->hasMany(postcategory::class);
}
public function postcomment()
{
return $this->hasMany(postcomment::class);
}
后分类模型
public function post()
{
return $this->belongsTo(post::class);
}
评论后模型
public function post()
{
return $this->belongsTo(post::class);
}
类别 型号
public function post()
{
return $this->belongsTo(post::class);
}
询问
$posts = post::with(['postcategory', 'postcomment','category'])->get();
解决方案
推荐阅读
- ios - 如何在objc中循环字节数组
- reactjs - 使用 Redux 和 useDispatch 将基于类的组件重构为功能组件不起作用
- c - 将对各个数据缓冲区的引用作为成员结构或在函数内定义本地数组?
- python - 如何在 Dash 中编写应用程序布局,使两个图表并排?
- javascript - 比较两个数组的值,如果一个值被删除而不是添加,则只返回差值
- reactjs - 我希望我的标头在本地存储数据更改后立即更新
- python - Pyomo 中的延时响应
- azure - Azure 存储 API - 使用共享密钥的授权如何工作?
- javascript - 保持一个js计时器计数
- numpy - 比较列表和提取一些数据的最佳实践