簡體   English   中英

QLSTATE [42000]:語法錯誤或訪問沖突:1064 您的 SQL 語法有錯誤 - LARAVEL

[英]QLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax - LARAVEL

Plz,你能幫我嗎,我得到這個錯誤

SQLSTATE[42000]:語法錯誤或訪問沖突:1064 您的 SQL 語法有錯誤; 檢查與您的 MySQL 服務器版本相對應的手冊,以獲取在 'where is_read = 0) 附近使用的正確語法,因為未讀messages離開了users users id ' 在第 1 行(SQL: select users email , users . id , users . avatar , users . name , users . is_owner , messages . from , messages 0 created_at , (SELECT count (作為未讀messages離開加入usersusers id = messagesfrom哪里messagesto = 175 和users id != 175 userscreated_atmessages排序id desc)

這是我在 laravel 中的查詢

$my_id = Auth::user()->id;

 
   $users = DB::table('messages')->leftJoin('users' , 'users.id' , '=' , 'messages.from')
  
   ->select('users.id' , 'users.name' , 'users.avatar' , 'users.email', 'users.is_owner' , 'messages.from' , 'messages.created_at' , 
        DB::raw("(SELECT count(messages.is_read)  where is_read = 0  ) as unread"))
   ->where('messages.to' , $my_id)
   ->where('users.id' , '!=' , $my_id)
   ->groupBy('users.id' )
   ->orderBy('messages.created_at', 'desc')
   ->get();

這只是我的實時服務器上的問題,在我的本地主機(xampp)上它工作正常,請你能幫助我,因為我看不到問題。

PS當我刪除這部分DB::raw("(SELECT count(messages.is_read) where is_read = 0 ) as unread"))它工作正常,這里哪里出錯了?

你錯過了桌子

它應該是

SELECT COUNT(is_read) FROM messages WHERE is_read=0;

暫無
暫無

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

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