gpt4 book ai didi

php - 我可以针对我的具体情况使用 Laravel Eloquent hasManyThrough 关系吗?

转载 作者:行者123 更新时间:2023-11-29 06:01:41 25 4
gpt4 key购买 nike

我正在尝试从与我当前使用的模型没有直接关系的表中检索数据。

我的数据结构:

表:帖子

  • id - 整数
  • 标题 - 字符串

表:post_stacks

  • id - 整数
  • post_id - 整数
  • stack_id - 整数

表:堆栈

  • id - 整数
  • 正文 - 字符串
  • url - 字符串

我的 eloquent 模型来自 Post.php(posts 表),我正在尝试获取与我的帖子相关的所有堆栈(来自 stacks 表)。我只想在 Post.php 而不是我的数据透视表 (post_stacks) 上声明我的关系。我尝试使用 hasManyThrough 但我无法让它工作?

public function img()
{
return $this->hasManyThrough(\App\Stack::class, \App\PostStack::class, 'post_id', 'stack_id', 'id');
}

有人知道我怎样才能检索到我想要的数据吗?谢谢!

最佳答案

您能否尝试在您的帖子模型中添加以下关系。

public function stacks()
{
return $this->hasManyThrough(
'App\Stacks', 'App\PostStacks',
'post_id', 'id', 'id'
);
}

也看看这个,https://laravel.com/docs/5.4/eloquent-relationships#has-many-through

根据此文档,hasManyThrough 中的第三个参数是中间模型上的外键名称。在我们的例子中,'post_id'post_stack 上的外键,它与 posts 有直接关系。

第四个参数是最终模型的外键名称。即,'id'堆栈 上。与 post_stacks ( 'post_id' ) 有关系。第五个参数是本地 key 。即,帖子的 id

关于php - 我可以针对我的具体情况使用 Laravel Eloquent hasManyThrough 关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44400824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com