具有关系的laravel中的优化查询

时间:2017-06-16 04:42:25

标签: php laravel laravel-5 relationship vuejs2

我有3个模型:标记,发布,用户,并使用 TagPost,TagUser 模型进行映射。

当用户在输入搜索中搜索标签时,我使用$ http.post(VUE)并将选择的数组标签发送到服务器。

示例代码在服务器中打印:

array:2 [
      0 => array:10 [
        "id" => 197
        "name" => "nisi"
        "slugify" => "nisi"
        "thumbnail" => "http://lorempixel.com/400/400/?85397"
        "seo_title" => null
        "seo_description" => null
        "seo_keyword" => null
        "cover" => null
        "created_at" => "2017-06-13 07:19:30"
        "updated_at" => "2017-06-04 06:01:14"
      ]
      1 => array:10 [
        "id" => 184
        "name" => "dolores"
        "slugify" => "dolores"
        "thumbnail" => "http://lorempixel.com/400/400/?45793"
        "seo_title" => null
        "seo_description" => null
        "seo_keyword" => null
        "cover" => null
        "created_at" => "2017-06-08 15:37:59"
        "updated_at" => "2017-05-27 13:34:02"
      ]
    ]

我希望当用户搜索标签然后查看更新用户并且帖子有标签用户搜索。

查看此处:

enter image description here

在服务器(laravel)中如何使用最少查询使用关系模型进行编码?

1 个答案:

答案 0 :(得分:0)

假设您已正确设置关系,这应该可以正常工作

Tag::with('posts','users')->whereIn('id', $your_ids_send_by_vue)->get();

然后在你的控制器中执行逻辑以获得所需的数据