php – Eloquent group在Laravel 5.3中使用有效的SQL查询生成“S
我对Eloquent有一个奇怪的问题,我正在尝试执行以下操作:
$this->node = DB::table('permission') ->select('permission.id','object.name as object_name','permission.created_at','object.id as object_id') ->join('object','object.id','=','permission.object_id') ->join('action','action.id','permission.action_id') ->where('permission.person_id',$this->person['id']) ->groupBy('permission.object_id') ->orderBy('permission.created_at','desc') ->paginate(5); Laravel Framework报告错误:
我在AppServiceProvider中添加了一个Eloquent调试函数DB :: listen: use IlluminateSupportFacadesDB; use IlluminateSupportServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { // DB::listen(function ($query) { echo "<pre>"; print_r($query->sql); echo "</pre>"; // $query->sql // $query->bindings // $query->time }); } ... 它确实打印了这个SQL查询: select `permission`.`id`,`object`.`name` as `object_name`,`permission`.`created_at`,`object`.`id` as `object_id` from `permission` inner join `object` on `object`.`id` = `permission`.`object_id` inner join `action` on `action`.`id` = `permission`.`action_id` where `permission`.`person_id` = 1 group by `permission`.`object_id` order by `permission`.`created_at` desc limit 5 offset 0 这在MySQL中通过PhpMyAdmin有效,这里是查询的输出: 任何的想法? 谢谢
与laravel 5.3面临同样的问题
他们正在尝试使用mysql-5.7强制执行严格的查询编写 但是要禁用它,只需转到config / database.php并更改strict flag 'mysql' => [ . . . 'strict' => false,//'strict' => true,. . ], 希望这也能解决你的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |