Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai un petit problème avec des requêtes avec jointure...
voici ma requete:
$select = $this->alert->select() ->from (array('a' => $this->alert), array('date' => 'FROM_UNIXTIME(a.time)', 'a.host_name', 'a.service_description', 'a.state', 'a.state_type', 'a.attempt', 'message' => 'a.plugin_output')) ->join(array('h' => "core_config_host"), "h.host_name = a.host_name", array('h.id_host', 'h.address')) ->join(array('h_hg' => "core_config_host_hostgroup"), "h_hg.id_host = h.id_host", array()) ->join(array('hg' => "core_config_hostgroup"), "hg.id_hostgroup = h_hg.id_hostgroup", array('hg.hostgroup_name')) ->where('a.time >= ?', $dateDebut) ->where('a.time <= ?', $dateFin) ->where('a.host_name LIKE ? ', $host_name) ->where('a.plugin_output LIKE ? ', $message) ->where('a.state_type LIKE ? ', $type_etat) ->where('a.service_description LIKE ? ', $serviceTrap) ->where('hg.hostgroup_name LIKE ? ', $hostgroup_name) ->where('h.address LIKE ? ', $address) ->order('a.time DESC') ->limit($sup, $inf); var_dump($sql); exit();
il me renvoie:
string(0) ""
le select est vide...
par contre quand je ne met pas de from et de join:
exemple:
$select = $this->alert->select() ->where('service_description LIKE "HOST"') ->order('time DESC') ->limit(10);
là ça fonctionne correctement...
Pourquoi n'accepte t'il pas le ->from pour sélectionner certain champs et pourquoi n'accepte-t-il pas le ->join?
Car si je retire ces instructions, le select n'est pas vide...
Merci d'avance de votre réponse
Hors ligne
Essaye avec $this->alert->select()->setIntegrityCheck(false)->.....
Hors ligne