двойной запрос

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

двойной запрос

Сообщение Artikk »

Есть параметр GET($id) (числа)
Мне нужно составить следующий запрос:
Выбрать из таблицы spec_remont по id и потом в таблице user_personalнайти строки, где user_personal.category = spec_remont.name
Как это сделать одним запросом?))) по отдельности знаю как, а вот со сложными запросами проблемка...
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: двойной запрос

Сообщение zelenin »

Код: Выделить всё

select user_personal.* from user_personal
left join spec_remont on spec_remont.name = user_personal.category
where user_personal.id = :id
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: двойной запрос

Сообщение Artikk »

так не работает(
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: двойной запрос

Сообщение zelenin »

Artikk писал(а): 2017.06.26, 11:29 так не работает(
ждете пока я вам задам вопрос, что конкретно не работает?
Artikk
Сообщения: 742
Зарегистрирован: 2017.02.10, 09:12

Re: двойной запрос

Сообщение Artikk »

Дело в том, что этот проект не на yii....
Вот модель:

Код: Выделить всё

public static function getWork($id){

		// Соединение с БД
		$db = Db::getConnection();

		/

		$sql = 'select user_personal.* from user_personal
left join spec_remont on spec_remont.name = user_personal.category
where user_personal.id = :id';


		// Используется подготовленный запрос
		$result = $db->prepare($sql);
		$result->bindParam(':id', $id, PDO::PARAM_INT);

		// Указываем, что хотим получить данные в виде массива
		$result->setFetchMode(PDO::FETCH_ASSOC);

		// Выполнение коменды
		$result->execute();



		// Получение и возврат результатов
		$i = 0;
		$productsList = array();
		while ($row = $result->fetch()) {
			$productsList[$i]['id'] = $row['id'];
			$productsList[$i]['category'] = $row['category'];
			$productsList[$i]['name'] = $row['name'];
			$productsList[$i]['resume'] = $row['resume'];
			$i++;
		}

		return $productsList;

	}
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: двойной запрос

Сообщение zelenin »

Artikk писал(а): 2017.06.26, 11:37 Дело в том, что этот проект не на yii....
а) тогда зачем вы его постите в разделе yii?
б) я вам sql-запрос дал. yii не редактирует результаты sql-запросов.
Artikk писал(а): 2017.06.26, 11:37 Вот модель:

Код: Выделить всё

public static function getWork($id){

		// Соединение с БД
		$db = Db::getConnection();

		/

		$sql = 'select user_personal.* from user_personal
left join spec_remont on spec_remont.name = user_personal.category
where user_personal.id = :id';


		// Используется подготовленный запрос
		$result = $db->prepare($sql);
		$result->bindParam(':id', $id, PDO::PARAM_INT);

		// Указываем, что хотим получить данные в виде массива
		$result->setFetchMode(PDO::FETCH_ASSOC);

		// Выполнение коменды
		$result->execute();



		// Получение и возврат результатов
		$i = 0;
		$productsList = array();
		while ($row = $result->fetch()) {
			$productsList[$i]['id'] = $row['id'];
			$productsList[$i]['category'] = $row['category'];
			$productsList[$i]['name'] = $row['name'];
			$productsList[$i]['resume'] = $row['resume'];
			$i++;
		}

		return $productsList;

	}
проверьте результат работы запроса напрямую в базе. потом разбирайтесь конкретно с вашей либой.
Ответить