Нужно ли обновлять представление или даже какое-то время для этого? - PullRequest
0 голосов
/ 09 мая 2019

Я создал представление, в котором должны быть только те строки, в которых поле даты находится между диапазонами. Когда я использую php-страницу для извлечения данных с некоторыми условиями, она не возвращает результатов. Но если я использую «select * from», через phpMyAdmin он возвращает все данные, а затем, если я пытаюсь снова извлечь с моей страницей php (тот же код с условиями, которые я пробовал ранее), он работает правильно. У меня сложилось впечатление, что представление обновляется только в том случае, если я выполняю запрос "select * from". Имейте в виду, что это представление имеет только 4 строки для целей тестирования.

Мое представление: (поля agendadoEm и agendadoPara имеют тип datetime)

CREATE VIEW vw_Agendamento AS (
SELECT agendamentos.id as id, agendamentos.userid as userid, agendamentos.paciente as paciente,agendamentos.agendadoEm as agendadoEm, agendamentos.agendadoPara as agendadoPara,
agendamentos.confirmado as confirmado, agendamentos.notificada as notificada,usuarios.contaTipo as contaTipo, profissionais.profissao as profissao

    FROM agendamentos

LEFT JOIN usuarios ON usuarios.id=agendamentos.userid
LEFT JOIN profissionais ON profissionais.userid=agendamentos.userid

WHERE (agendamentos.confirmado=0 AND TIMESTAMPDIFF(MINUTE,agendamentos.agendadoEm,NOW())<35) OR

(agendamentos.confirmado=1 AND TIMESTAMPDIFF(SECOND,NOW(),agendamentos.agendadoPara)>1));

Запрос, который я выполняю на своей странице php:

SELECT vw_Agendamento.id as id, vw_Agendamento.userid as userid, 
vw_Agendamento.paciente as paciente,vw_Agendamento.agendadoPara as agendadoPara,usuarios.nome as nome,
usuarios.contaTipo as contaTipo, profissionais.sexo as sexo, profissionais.profissao as profissaoId,
tipoProfissionalPF.tipo as profissao,tipoProfissionalPF.urlprefix as urlprefix, tipoProfissionalPJ.tipo as estabelecimento,
tipoProfissionalPJ.urlprefix as clinprefix,empresaDados.nomeFantasia as nomeFantasia 
FROM vw_Agendamento 
LEFT JOIN usuarios ON usuarios.id=vw_Agendamento.userid 
LEFT JOIN profissionais ON profissionais.userid=vw_Agendamento.userid 
LEFT JOIN empresaDados ON empresaDados.userid=vw_Agendamento.userid 
LEFT JOIN tipoProfissionalPF ON tipoProfissionalPF.id=profissionais.profissao 
LEFT JOIN tipoProfissionalPJ ON tipoProfissionalPJ.id=empresaDados.tipoProfissionalPJ 

WHERE vw_Agendamento.paciente=? AND vw_Agendamento.confirmado=0

Не имеет значения, сколько раз я выполняю этот запрос, он не возвращает никаких результатов. Но после "select * from vw_Agendamento" я открываю ту же самую страницу php, и она правильно выбирает данные. Ты хоть представляешь, что происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...