gpt4 book ai didi

php - WhereIn 和关系

转载 作者:行者123 更新时间:2023-12-01 12:36:41 28 4
gpt4 key购买 nike

我有3张 table :

  • 文章
  • 标签
  • article_tag

  • 它们都是具有枢轴的多对多关系。

    我需要查询它以获取所有具有标签数组的文章:
    Article::with('tags')->whereIn('id', $tagIdArray)->get();

    上面的问题在于它返回了 ID 为 $tagIdArray 的文章。如何约束结果以便我在标签关系上使用 whereIn?

    最佳答案

    你的想法是对的,但有点离题。使用 with('tags')函数只是将您的文章与相关标签、查询链接在 with() 之后拉出。函数仍然适用于文章模型。

    要查询关系,您可以执行以下操作

    $tagIdArray = [1, 3, 5, 7, 9];

    $articles = Article::whereHas('tags', function($query) use ($tagIdArray) {
    /**
    * Now querying the Tags relation. So anything in this closure will query the Tags
    * relation, but outside of the closure, you're back to querying the Articles.
    */
    $query->whereIn('id', $tagIdArray);
    })->get();

    这是关于查询关系的 Laravel 文档 http://laravel.com/docs/4.2/eloquent#querying-relations

    关于php - WhereIn 和关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28992261/

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