【发布时间】: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());,看看它显示了什么。