DB

Как подключиться к нескольким БД в Yii2
Как подключиться к нескольким БД в Yii2

Для того чтобы подключиться к нескольким БД в фреймворке Yii2 нужно:
1. Создать две настройки БД в конфигурационном файле сайта. У меня подключения вынесены в отдельные файлы, и имеют следующий вид (пример).
Подключение к первой базе данных:

return  [
	'class' => 'yiidbConnection',
	'dsn' => 'mysql:host=127.0.0.1;dbname=work_db1',
	'username' => 'root',
	'password' => '',
	'charset' => 'utf8',
	'tablePrefix' => 'tbl_',
];

Подключение к второй базе данных:

return  [
	'class' => 'yiidbConnection',
	'dsn' => 'mysql:host=127.0.0.1;dbname=work_db2',
	'username' => 'root',
	'password' => '',
	'charset' => 'utf8',
	'tablePrefix' => 'tbl_',
];

2. В базовом конфиге прописываем:

'db' => require(__DIR__ . '/db.php'),
'db2' => require(__DIR__ . '/db2.php'),

читать полностью...

Использование IN в createCommand фреймворка Yii2
Использование IN в createCommand фреймворка Yii2

Для этого, следует сформировать запись следующим образом

Yii::$app -> db -> createCommand() -> update(ContactusModel::tableName(), ['is_read' => 0], [
	'id' => $this -> id
]) -> execute();	

Где:
ContactusModel::tableName() - нужная нам таблица
$this -> id - массив из ID, который автоматом и сформирует запрос в IN (.., .., .....)

Как в WordPress получить свой тип записей отфильтровав по нужной таксономии
Как в WordPress получить свой тип записей отфильтровав по нужной таксономии

Для того что бы в ВордПресс получить определенный тип записей отфильтрованных по кастомной таксономии (или существующей), воспользуйтесь следущим снипеттом:

$Posts = get_posts(array(
	'post_type' => 'my-post-type',
	'order' => 'ASC',
	'tax_query' => array(
	array(
			'taxonomy' => 'my-taxonomy',
			'field' => 'slug',
			'terms' => 'event'
		)
	),
	'meta_query' => array(
		'AND',
		array(
			'type' => 'NUMERIC',
			'key' => 'event_date',
			'compare' => '<', 'value' => time()
		),
		array(
			'type' => 'NUMERIC',
			'key' => 'is_archive',
			'compare' => '==',
			'value' => 0
		)
	)
));

читать полностью...

Взаимодействие плагина с базой данных WordPress. Часть 2
Взаимодействие плагина с базой данных WordPress. Часть 2

Продолжаем цикл статей по работе с базой данных в WordPress. И сегодня, мы поговорим о создании, обновлении, удалении и получении данных из БД. Сразу хочу обратить ваше внимание на то, что мы будет работать не с системой таблицей WordPress, а со своей.
Дамб этой таблицы находится ниже:

CREATE TABLE IF NOT EXISTS `wp_plance_text_shortcodes` (
  `sh_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `sh_title` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL,
  `sh_code` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL,
  `sh_description` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `sh_is_lock` tinyint(1) unsigned NOT NULL,
  `sh_date_create` int(10) unsigned NOT NULL,
  PRIMARY KEY (`sh_id`)
) ENGINE=InnoDB;

Такую структуру, на данный момент имеет таблица моего плагина «My Text Shortcodes». При желании, вы можете скачать этот плагин с этой страницы.

читать полностью...

Взаимодействие плагина с базой данных WordPress. Часть 1.
Взаимодействие плагина с базой данных WordPress. Часть 1.

Здравствуйте, уважаемые читатели блога!
Предлагаю немного расширить наши знания в области программирования под WordPress. И рассмотреть в этой статье тему взаимодействия плагинов с базой данных.

Из «коробки», сам WP обладает неплохими возможностями. Здесь я имею ввиду создание своих таксономий, терминов, пр. И привязка к ним дополнительной информации на базе мета данных. Это очень удобно, т. к. написав с десяток функций можно не беспокоиться о создании интерфейса и даже некоторой внутренней логики приложения.

Но мне, как «новичку» в вордпресс. Более привычнее работать с четко структурированными таблицами. Поэтому в этой статье, предлагаю рассмотреть именно данный вариант, на примере одного из моих плагинов «my-simple-form», немного упростив его.

читать полностью...