在Laravel中使用raw时,字段列表中的未知列

问题描述 投票:0回答:1

我有一个像这样的有效的mysql查询:

SELECT mc.cart_id, mc.mystore_user_id, MIN(ci.created_at) AS created_at
FROM dmspro_mys_cart AS mc
INNER JOIN dmspro_mys_cart_item AS ci
ON ci.cart_id = mc.cart_id
WHERE mc.is_noticed = 0 AND ci.created_at < '2019-10-08 07:08:39'
GROUP BY mc.cart_id 

并且我将其转换为Laravel项目中的查询生成器:

public function getMinCreatedAt($cartTime)
    {
        $oSelect = $this->select("{$this->table}.cart_id", "{$this->table}.mystore_user_id",\DB::raw('MIN(ci.created_at) AS created_at'))
                        ->join('cart_item AS ci', 'ci.cart_id', '=', "{$this->table}.cart_id")
                        ->where("{$this->table}.is_noticed", '=', 0)
                        ->where('ci.created_at', '<', $cartTime)
                        ->groupBy("{$this->table}.cart_id")
                        ->get();

        return $oSelect;
    }

但是当我运行它时,出现错误:

找不到列:1054“字段列表”中的未知列“ ci.created_at”(SQL:选择dmspro_mys_cartcart_iddmspro_mys_cartmystore_user_id,MIN(ci.created_at)个AS created_at来自dmspro_mys_cart内部联接dmspro_mys_cart_itemdmspro_mys_ci上的dmspro_mys_cicart_id =dmspro_mys_cartcart_id其中dmspro_mys_cartis_noticed = 0和dmspro_mys_cicreated_at <2019-10-09 15:51:37 group bydmspro_mys_cartcart_id

我该如何解决?

谢谢!

更新:dmspro_mys_是我的前缀

mysql laravel
1个回答
0
投票
您的错误消息与您的查询不符。

在错误消息中,提到了一个名为“ dmspro_mys_ci”的别名,但您的查询中不存在该别名。

© www.soinside.com 2019 - 2024. All rights reserved.