Php Laravel访问冲突错误QueryException 42000
数据库名称:-“hdwallpapers” 表:-“图像” 表:-“类别” 当我运行以下查询时,它会生成如图所示的输出Php Laravel访问冲突错误QueryException 42000,php,mysql,laravel,Php,Mysql,Laravel,数据库名称:-“hdwallpapers” 表:-“图像” 表:-“类别” 当我运行以下查询时,它会生成如图所示的输出 select categories.cid, categories.category_name, COUNT(images.category) as "Count" from categories LEFT JOIN images on categories.cid=images.category GROUP BY categories.category_name ORDER
select categories.cid, categories.category_name, COUNT(images.category) as "Count" from categories LEFT JOIN images on categories.cid=images.category GROUP BY categories.category_name ORDER BY categories.category_name
输出
我已经在Laravel版本5.8中创建了名为HDWallpapers的Laravel应用程序,我使用的是XAMPP,数据库在MySQL中,我使用的是Visual Studio代码编辑器
我为表“Categories”创建了单独的模型“Categories”,为表“Images”创建了图像
问题是,mysql查询提供了我想要的输出,但每当我在Laravel中尝试该查询时,它都会生成语法错误或访问冲突
这是我尝试过的laravel查询,但我得到了相同的语法错误或访问冲突错误
1) $categoryData=DB::select("SELECT categories.cid, categories.category_name, count(images.category) from 'categories' left join 'images' on categories.cid=images.category GROUP BY categories.category_name order by categories.category_name ASC");
2) $categoryData=DB::table('categories')->leftjoin('images','categories.cid','=','images.category')->select('categories.cid','categories.category_name', DB::raw("COUNT(images.category) as count"))->groupby('categories.category_name')->get();
3) $categoryData=Categories::leftjoin('images','categories.cid','=','images.category')->select('categories.cid','categories.category_name', DB::raw("count(images.category) as count"))->groupby('categories.category_name')->get();
我试着在很多网站上搜索,但因为我是拉威尔的新手,我不知道我该怎么做,所以请帮助我 我不建议将其用于可伸缩项目,但您可以仅禁用“完全”模式“分组”,这是MySQL仅执行包含来自数据库配置的无歧义GROUP BY语句的查询的约束 转到/app/database.php的connections->mysql,并在末尾附加以下代码:
'mysql' => [
'driver' => 'mysql',
....
// append the following:
'modes' => [
//'ONLY_FULL_GROUP_BY',
'STRICT_TRANS_TABLES',
'NO_ZERO_IN_DATE',
'NO_ZERO_DATE',
'ERROR_FOR_DIVISION_BY_ZERO',
'NO_AUTO_CREATE_USER',
'NO_ENGINE_SUBSTITUTION',
]
]
然后执行php artisan config:cache只需按您选择的所有列进行分组 二, groupby'categories.cid','categories.category_name'->get 在config\database.php->mysql数组中 设置 “严格”=>错误 细节是
$categoryData=DB::table('categories')->leftjoin('images','categories.cid','=','images.category')->select('categories.cid','categories.category_name',DB::raw("COUNT(images.category) as count"))->