簡體   English   中英

SQLSTATE [23000]:完整性約束違規:1052 order order中的'created_at'列不明確Laravel 5.5

[英]SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'created_at' in order clause is ambiguous Laravel 5.5

我只是不知道我的代碼有什么問題以及它為什么會產生這個錯誤

SQLSTATE [23000]:完整性約束違規:為了條款1052列'created_at'不明確(SQL:SELECT * FROM processes內加入bagsprocessesbag_id = bagsid ,其中bagstype =可回收和日期( processescreated_at ) = 2018-09-18 00:00:00按created_at desc limit 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();

您需要在latest()指定完整列。 latest('process.created_at')或代替使用latest()使用自定義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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM