почему это должно быть ошибкой в ​​моем коде laravel? - PullRequest
0 голосов
/ 12 июня 2018

У меня есть этот код в laravel

    $blogs = BlogCategoryGroup::with([
      'blogPost' => function($query) {
        $query
          ->with([
            'groups' => function($query) {
              $query->with('blogTag')->get();
            }])
          ->get();
      },
      'blogCategory'
    ])
    ->groupBy('blog_category_groups.blog_post_id')
    ->whereCategoryId($request->input('parent_category'))
    ->orWhere('category_id', $request->input('first_sub_category'))
    ->orWhere('category_id', $request->input('second_sub_category'))
    ->get();

, который имеет эквивалентный запрос

select * from `blog_category_groups` where `category_id` = 2 or `category_id` = 3 or `category_id` = 4 group by `blog_category_groups`.`blog_post_id`

разница, когда я запускаю код laravel, я получаю эту ошибку

SQLSTATE[42000]: Syntax error or access violation: 1055 'database.blog_category_groups.id' isn't in GROUP BY (SQL: select * from `blog_category_groups` where `category_id` = 2 or `category_id` = 3 or `category_id` = 4 group by `blog_category_groups`.`blog_post_id`)

но при выполнении запроса на heidiSQL я получил один результат

почему это должно быть ошибкой в ​​моем коде laravel?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...