为什么会出现这个错误?当我在phpMyAdmin中运行SQL时,它工作得很好。
SQLSTATE[42000]:语法错误或访问冲突: 1064您的SQL语法中有一个错误;检查与您的MySQL服务器版本相对应的手册,以获得在第1行“附近使用的正确语法(SQL:选择ID从用户那里活动=真实和生日!=0000且不存在(从agestats中选择id,其中users.id=agestats.user_idagestats.year=2020-01-13)
SQL:
select id
from users
where active = true
and birthyear != 0000
and not exists (
select 1
from agestats
where users.id = agestats.user_id
and agestats.year = 2020
)
和拉威尔代码:
$membersToInsert = DB::select(DB::raw(
'select id
from users
where active = true
and birthyear != 0000
and not exists (
select id
from agestats
where users.id = agestats.user_id
and agestats.year = ' . date('Y-m-d')
));
date('Y-m-d')
将为您提供当前日期,如2020-01-13
,因此只需获得2020
,然后使用date('Y')
。我希望这有助于你的处境