laravel 5.6:我收到错误消息“语法错误或访问冲突:1064 您的 SQL 中有错误”
laravel 5.6 : I get a error " Syntax error or access violation: 1064 You have an error in your SQL "
我正在开发应用程序的后端,我使用 laravel
在恢复中,我想 select 这个用户的安全问题
$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]: Syntax error or access violation: 1064 You have an
error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'on users
.id
= secutitequestion
.user_id
' at line 1 (SQL: select secutitequestion
.securite_question1
,
secutitequestion
.answer_securite_question1
on users
.id
=
secutitequestion
.user_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();
我正在开发应用程序的后端,我使用 laravel 在恢复中,我想 select 这个用户的安全问题
$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]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on
users
.id
=secutitequestion
.user_id
' at line 1 (SQL: selectsecutitequestion
.securite_question1
,secutitequestion
.answer_securite_question1
onusers
.id
=secutitequestion
.user_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();