提问人:Imran Niaz 提问时间:4/29/2023 最后编辑:Wakil AhmedImran Niaz 更新时间:4/30/2023 访问量:38
SQLSTATE[42000]:语法错误或访问冲突:1055“new.bank_accounts.id”不在 GROUP BY 中
SQLSTATE[42000]: Syntax error or access violation: 1055 'new.bank_accounts.id' isn't in GROUP BY
问:
SQLSTATE[42000]: Syntax error or access violation: 1055 'new.bank_accounts.id' isn't in GROUP BY (Connection: mysql, SQL: select `bank_accounts`.`id`, `bank_accounts`.`holder_name`, `bank_accounts`.`bank_name`, sum(amount) as total from `revenues` left join `bank_accounts` on `revenues`.`account_id` = `bank_accounts`.`id` where `revenues`.`created_by` = 2 and `revenues`.`created_by` = 2 group by `revenues`.`account_id`)
代码行是从数据库中获取收入帐户数据并将其存储在变量中。其工作原理如下:$reportData['revenueAccounts'] = $revenueAccounts->get();
$reportData
$revenueAccounts
是 的实例,它表示对数据库的查询。
$revenueAccounts 上的方法执行查询,并从数据库中的 revenue_accounts 表返回记录集合。
该变量是存储报表数据的数组。代码行将收入帐户记录的集合分配给数组中的键。
总体而言,此代码行从数据库中提取收入帐户数据,并将其存储在数组中以用于生成报表。Illuminate\Database\Query\Builder class
get()
$reportData
$reportData['revenueAccounts'] = $revenueAccounts->get();
$reportData['revenueAccounts']
$bankAccount = BankAccount::find($request->account);
$filter['account'] = !empty($bankAccount) ? $bankAccount->holder_name . ' - ' . $bankAccount->bank_name : '';
if ($bankAccount->holder_name == 'Cash')
{
$filter['account'] = 'Cash';
}
if ($request->type == 'revenue' || !isset($request->type))
{
$reportData['revenues'] = $revenues->get();
$revenueAccounts->where('revenues.created_by', '=', \Auth::user()->creatorId());
$reportData['revenueAccounts'] = $revenueAccounts->get();
}
if ($request->type == 'payment')
{
$reportData['payments'] = $payments->get();
$paymentAccounts->where('payments.created_by', '=', \Auth::user()->creatorId());
}
我有问题无法找到所有问题
答: 暂无答案
评论