【问题标题】:Get all data where pivot id (Laravel)获取枢轴id(Laravel)的所有数据
【发布时间】:2020-11-14 22:26:58
【问题描述】:

有没有最好的/最简单的方法来获取所有数据的枢纽? 我试过这个$article = Article::with('category')->wherePivot('category_id', $category)->get(); 但我出错了

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'pivot' in 'where clause' (SQL: select * from `articles` where `pivot` = category_id)

关系是多对多的

文章

  • 身份证
  • 内容
public function category(){
        return $this->belongsToMany(Category::class, 'articles_has_categories', 'article_id', 'category_id');
    }

Articles_Has_Categories

  • 身份证
  • article_id
  • category_id
public function article ()
    {
        return $this->belongsTo(Article::class,'article_id');
    }

    public function category ()
    {
        return $this->belongsTo(Category::class,'category_id');
    }

类别

  • 身份证
  • 姓名
public function article(){
        return $this->belongsToMany(Article::class, 'articles_has_categories', 'category_id', 'article_id');
    }

【问题讨论】:

  • 你们的模特关系怎么样?你也可以发布你的模型代码吗? $category 是什么?
  • 我已经更新了我的问题@Dev
  • 嘿,$category 是什么?
  • 我从 url @Dev 发送的category_id
  • 我用whereHas解决了我的问题

标签: php laravel eloquent laravel-7


【解决方案1】:
$article = Article::with(['category' => function($query) use ($category) {
        $query->whereHas('category_id', $category);
    }
])->get();

如果您使用 $category 作为数组,则使用 $query->whereHas('category_id', $category); 或者如果您使用 $category 是单个 id $query->where('category_id', $category);

【讨论】:

  • @Ray 试试我的,看看你的输出是什么。
【解决方案2】:

请试试这个:

    $article = Article::with(['category' => function($query) use ($category) {
            $query->where('category_id', $category);
        }
    ])->get();

【讨论】:

  • 您是否传递了正确的类别 ID?确保您传递了正确的 ID,尝试对 categoryID 进行硬编码。在 where 子句中查看结果$query->where('category_id', 1)。请确保您所传递的类别中有一篇文章。
  • 是的,我是。关系有空数据
  • 我认为问题出在 $category 您如何将 $category ID 从视图传递到控制器。请分享相同的代码。
  • http://localhost:8000/articlesjson?category=1。我尝试用 url 传递它,所以我没有用 category_id 做错误
猜你喜欢
  • 1970-01-01
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 2018-03-25
  • 1970-01-01
  • 2019-07-24
  • 2017-04-27
相关资源
最近更新 更多