sqlstate[23000]:完整性约束冲突:order子句中的1052列'created\u at'不明确

owfi6suc  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(238)

我只是不知道我的代码出了什么问题,为什么会产生这个错误
sqlstate[23000]:完整性约束冲突:order子句中的1052列“created\u at”不明确(sql:select*from) processes 内部连接 bagsprocesses . bag_id = bags . id 哪里 bags . type =可回收和日期( processes . created_at )=2018-09-18 00:00:00订货人 created_at 描述限制1)这是我的代码

$bag = Bagcollect::join('bags', 'bagcollects.bag_id', '=', 'bags.id')
        ->select('bags.type')
        ->where('bagcollects.bag_id', $request->input('bag_id'))
        ->first();

   //this query produce error
    $processexist = Process::join('bags', 'processes.bag_id', '=', 'bags.id')
        ->where('bags.type', $bag->type)
        ->whereDate('processes.created_at', Carbon::today())
        ->latest()
        ->first();
6mw9ycah

6mw9ycah1#

这是因为您正在从两个表中查询“created\u 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();
bqjvbblv

bqjvbblv2#

您需要在 latest() 全栏。 latest('process.created_at') 或者不用 latest() 使用自定义orderby。

相关问题