Php SQLSTATE[23000]:完整性约束冲突:1052列“created_at”在order子句中是不明确的Laravel 5.5
我只是不知道我的代码出了什么问题,为什么会产生这个错误 SQLSTATE[23000]:完整性约束冲突:1052列“created_at”in order子句不明确SQL:select*from PROCESS inner join bags on PROCESS.bag_id=bags.id where bags.type=RECALABLE和DATEPROCESS.created_at=2018-09-18 00:00:00 order by created_at desc limit 1以下是我的代码Php SQLSTATE[23000]:完整性约束冲突:1052列“created_at”在order子句中是不明确的Laravel 5.5,php,mysql,laravel,laravel-5.5,Php,Mysql,Laravel,Laravel 5.5,我只是不知道我的代码出了什么问题,为什么会产生这个错误 SQLSTATE[23000]:完整性约束冲突:1052列“created_at”in order子句不明确SQL:select*from PROCESS inner join bags on PROCESS.bag_id=bags.id where bags.type=RECALABLE和DATEPROCESS.created_at=2018-09-18 00:00:00 order by created_at desc limit 1以
您需要在最新的完整列中指定。最新的“process.created_at”或使用自定义orderBy代替最新的。这是因为您正在从两个表中查询“created_at”列。您必须指定所需的柱,例如:
$processexist = Process::join('bags', 'processes.bag_id', '=', 'bags.id')
->select('bags.column1', 'bags.columns2')
->where('bags.type', $bag->type)
->whereDate('processes.created_at', Carbon::today())
->latest()
->first();
您已经在此处连接的多个表中创建了_at列。您需要指定一个特定的别名/表名,以使用order BY的特定创建的_at列。可能重复的不明确列错误只能指向SELECT、WHERE、ON when JOIN、HAVING、GROUP BY子句以添加到@MadhurBhaiya的commentGot!谢谢
$processexist = Process::join('bags', 'processes.bag_id', '=', 'bags.id')
->select('bags.column1', 'bags.columns2')
->where('bags.type', $bag->type)
->whereDate('processes.created_at', Carbon::today())
->latest()
->first();