拉拉维尔 5.6 : 我收到一个错误" Syntax error or access violation: 1064 You have an error in your SQL "



我正在开发应用程序的后端,我使用laravel在恢复中,我想选择此用户的证券问题

 $User_data = User::where('email', '=', $email)->leftJoin('secutitequestion', function($join) {
            $join->on('users.id', '=', 'secutitequestion.user_id')->pluck('secutitequestion.securite_question1'
            ,'secutitequestion.answer_securite_question1'
            ,'secutitequestion.securite_question2'
            ,'secutitequestion.answer_securite_question2'
            ,'secutitequestion.securite_question3'
            ,'secutitequestion.answer_securite_question3');
        });

我得到了我得到的:

" sqlstate [42000]:语法错误或访问违规:1064您有一个 SQL语法中的错误;检查与您相对应的手册 MySQL Server版本,可用于users上接近'的正确语法。id = secutitequestionuser_id'在第1行(SQL:选择secutitequestionsecurite_question1secutitequestionusers上的answer_securite_question1id = secutitequestionuser_id)"

您在leftJoin中调用->pluck,但您应该在外面调用它。请在下面尝试我的代码

$User_data = User::where('email', '=', $email)
                ->leftJoin('secutitequestion', function($join) {
                        $join->on('users.id', '=', 'secutitequestion.user_id');
                })
                ->select('secutitequestion.securite_question1'
                        ,'secutitequestion.answer_securite_question1'
                        ,'secutitequestion.securite_question2'
                        ,'secutitequestion.answer_securite_question2'
                        ,'secutitequestion.securite_question3'
                        ,'secutitequestion.answer_securite_question3')
                ->get();

相关内容

最新更新