Написание следующего запроса MySQL в Doctrine - PullRequest
0 голосов
/ 26 июля 2011

Позвольте мне предисловие, сказав, что я ничего не знаю о доктрине, но на моей новой должности мы используем ее повсеместно (не знаю почему ...).В любом случае, вот оператор php и mySQL, который я пытаюсь превратить в оператор Doctrine:

$find_vac = mysql_query("SELECT Vacancies FROM States WHERE Abbreviation = '".$state."'");

Я думаю, что часть, которая сбивает меня с толку, это то, где аббревиатура является переменной.Любая помощь будет принята с благодарностью !!!

ОБНОВЛЕНИЕ:

$res = Doctrine_Query::create()
->select('Vacancies')
->from('States')
->where('Abbreviation = ?', $state)
->execute();
$vacancies = $res[0]->getVacancies();

Вышеприведенное возвращает ошибку.

echo $res['Vacancies']."<br />";

Возвращает число 4 независимо от состояниявыбран (и даже тогда все состояния варьируются от 0 до 3 для количества вакансий).

1 Ответ

0 голосов
/ 26 июля 2011

Что-то вроде этого должно сделать это. Переменные могут быть вставлены в запрос так же, как подготовленные операторы.

$res = Doctrine_Query::create()
    ->select('Vacancies')
    ->from('States')
    ->where('Abbreviation = ?', $state)
    ->execute();

РЕДАКТИРОВАТЬ : Это даст вам массив States в виде массива, который соответствует критериям поиска. Если вы просто хотите получить стоимость первых вакансий, вы можете получить это так:

$vacancies = $res[0]['Vacancies'];

Или, конечно, вы также захотите проверить, существует ли $res[0] и является ли он массивом в случае использования фиктивного или несуществующего $state.

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