Intereting Posts
Captcha не проверяется на стороне jquery ..! Создание cronjob с Zend Framework Пользовательские короткие коды WooCommerce Обучение SELECT FROM WHERE подготовленные заявления Symfony2 & Doctrine – Получить количество строк, возвращаемых из источника данных Почему эта транзакция SQLite с подготовленными операторами не работает? Функции, SQL-соединения и глобальная переменная Использование PHP, как мне сделать правило перезаписи? Есть ли какой-либо вред при запуске session_start () несколько раз по мере создания запроса на страницу (в php)? PHP, SOAP, .NET – ссылка на объект не установлена ​​в экземпляр объекта Когда или по каким причинам люди должны включить PHP Safemode ON / OFF? PHP max_execution_time игнорируется (нет безопасного режима, нет общего хоста, только localhost / windows7 / php 5.3.1 и время ожидания Apache равно 300) Допускается ли множественное наследование на уровне класса в PHP? загрузить многостраничную строку на сервер w / $ _POST PHP лучший способ получить блокировку в php

Laravel: ошибка синтаксиса или нарушение доступа: 1055 Ошибка

Я хочу использовать WhereIn и Groupby в том же запросе, чтобы получить результат.

Я пробовал это:

$loadids=explode("#@*",$reciptdet->loading_id); $loadingdatas=DB::table('loading')->groupBy('vehicle_no')->whereIn('id',$loadids)->get(); 

Но я получил сообщение об ошибке:

SQLSTATE [42000]: ошибка синтаксиса или нарушение прав доступа: 1055 'sbrtpt.loading.id' не находится в GROUP BY (SQL: выберите * из загрузки, где id в (14, 15, 16) group by vehicle_no)

Вероятно, это проблема SQL_MODE . В вашем config/database.php , в соединении, измените

 strict => false 

Как в

 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, ], 

Короткий ответ

В массиве config\database.php -> "mysql"

Установите 'strict' => false чтобы отключить все.

…. или

Вы можете оставить 'strict' => true и добавить режимы в "mysql" в

 'mysql' => [ ... .... 'strict' => true, 'modes' => [ //'ONLY_FULL_GROUP_BY', // Disable this to allow grouping by one column 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_AUTO_CREATE_USER', 'NO_ENGINE_SUBSTITUTION' ], ] 

Подробный ответ

Вам может не потребоваться отключить все строгие параметры … Пожалуйста, посмотрите на этот ответ об этой проблеме.