+1 vote

Saya membuat sebuah command di laravel. Ini error kenapa ya? Padahal kalau dijalankan di database ini baik-baik saja querynya

Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'ppj.a.departmentId' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by (SQL: select `menanggung`.`firstName` as `menanggungFirstName`, `menanggung`.`employeeCode` as `menanggungEmployeeCode`, `menanggung`.`role` as `menanggungRole`, `ditanggung`.`firstName` as `ditanggungFirstName`, `ditanggung`.`employeeCode` as `ditanggungEmployeeCode`, `ditanggung`.`role` as `ditanggungRole` from `dir_user_replacement` left join `vw_staff` as `menanggung` on `menanggung`.`id` = `dir_user_replacement`.`username` left join `vw_staff` as `ditanggung` on `ditanggung`.`id` = `dir_user_replacement`.`replacementUser` where `dir_user_replacement`.`endDate` between 2019-10-08 and 2019-10-09)

yang lalu dalam Database oleh  Kawan Berbageek (610 poin)

1 Jawaban

0 vote
Jawaban terbaik
Masalah ini ternyata diakibatkan oleh koneksi database. Masalah ini selesai dengan mengubah variable strict = false pada config/database.php

'connections' => [
    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => false, //from true
        'engine' => null,
    ],
],
yang lalu oleh  Kawan Berbageek (610 poin)
untuk alasan keamanan sebaiknya tidak mengubah strict ke false
Ada contoh resiko keamanan yang ditimbulkan seperti apa?
Selamat datang di Berbageek! Berbageek adalah tempat berbagi pengetahuan programming, ui/ux design, digital marketing & project management dengan konsep tanya-jawab. Sehingga kita bisa menciptakan solusi lebih cepat dan lebih baik. Berikut adalah rule untuk bertanya:
  1. Jangan duplikasi pertanyaan. Dicari dulu pertanyaan yang serupa.
  2. Buatlah pertanyaan yang generik. Tidak boleh bertanya spesifik menyebutkan nama proyek atau nama perusahaan.