【问题标题】:SQl queries are throwing error maria Db Offset Problem laravel phpSQl 查询抛出错误 maria Db 偏移量问题 laravel php
【发布时间】:2020-01-31 14:53:17
【问题描述】:

最近我删除了我的供应商文件夹并重新安装。之后我的所有获取查询都抛出错误。由于我是 php 和 laravel 的新手,我不知道我缺少什么。

谢谢

/错误/

SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“偏移量 0”附近使用的正确语法

我的代码:

public function couponList(Request $request){
        $sort_by = $request->get('sort-by');
        $order_by = $request->get('order-by');
        $homeTitle = 'Coupons and List'; 
        $coupons = DB::table('sb_coupons AS CO')
        ->select('CO.*','CO.status as couponStatus','CO.created_at as couponOrderDate','UT.*',
        'UT.firstname as userName')
        ->leftJoin('sb_customer AS UT', 'UT.customer_id', '=', 'CO.user_id');
        if(!empty($request->s)){
            $coupons->Where('CO.coupon_code', 'like', '%' . $request->s . '%');
        }
        if ($request->has('status')) {
            $coupons->where('CO.status', $request->status);
        }
        $coupons = $coupons->paginate(env('RECORD_PER_PAGE'));              
        $coupons->appends($request->s); 

        return view('admin.coupons.coupon-list',array('homeTitle'=>$homeTitle,'coupons'=>$coupons,'params'=>$request, 'sort_by'=> $sort_by , 'order_by' => $order_by))
        ->with('i', ($request->input('page', 1) - 1) * env('RECORD_PER_PAGE'));
    }

***.env *

APP_NAME=DeliverMyOrders
APP_ENV=local
APP_KEY=base64:LiLofkwJXFVZd4ZeUvGz/UADUFOeqx+Yeqv7L1gBHvY=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=delivermyorders
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
RECORD_PER_PAGE=10

FACEBOOK_ID=458516817946384
FACEBOOK_SECRET=9660233aee1cf8b443e4586ea864ea1a
FACEBOOK_URL=http://localhost:8000/auth/facebook/callback/


GOOGLE_ID=1512483269952
GOOGLE_SECRET=AIzaSyB-AiSA4Kd-R36M6J7NSTXxAWbVs7z4C_s
GOOGLE_URL=http://localhost:8000/auth/google/callback

【问题讨论】:

  • 多么奇怪。是否有一部分错误显示了完整的查询?或者您可以在分页之前尝试Log::info($coupons->toSql()); 以查看大部分查询的样子吗?它将在storage/logs 中放置一个日志文件,该文件将具有结果。
  • 我的项目中没有实现日志
  • $coupons->toSql() 无济于事,因为offset 来自->paginate(...)。但我想知道,为什么异常消息不包含完整的查询。
  • @PaulSpiegel 真的,我只是好奇问题是否在那之前出现,我不确定你是否可以在分页后使用 toSql。我真的希望完整的查询包含在错误消息中。
  • 在函数内部选择​​之前尝试dd($this->toSql());,看看它显示了什么。

标签: php mysql laravel-5


【解决方案1】:

我终于可以通过降级数据库版本来解决这个问题。

在 composer.json 中的 "require"

"illuminate/database": "4.1.10"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 2023-03-15
    • 2018-04-16
    • 2020-04-27
    相关资源
    最近更新 更多