Всем привет.
Мультиязычный сайт Laravel две таблицы categories и category_descriptions
Структура
CREATE TABLE `blog_categories` (
`id` bigint(20) UNSIGNED NOT NULL,
`parent_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0',
`show_menu` enum('Y','N') COLLATE utf8mb4_unicode_ci NOT NULL,
`show` enum('Y','N') COLLATE utf8mb4_unicode_ci NOT NULL,
`deleted_at` timestamp NULL DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE `blog_category_descriptions` (
`id` bigint(20) UNSIGNED NOT NULL,
`lang` char(3) COLLATE utf8mb4_unicode_ci NOT NULL,
`category_id` bigint(20) UNSIGNED NOT NULL,
`name` char(220) COLLATE utf8mb4_unicode_ci NOT NULL,
`description` text COLLATE utf8mb4_unicode_ci NOT NULL,
`keywords` text COLLATE utf8mb4_unicode_ci NOT NULL,
`text` text COLLATE utf8mb4_unicode_ci NOT NULL,
`slug` varchar(220) COLLATE utf8mb4_unicode_ci NOT NULL,
`deleted_at` timestamp NULL DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Связаны по ключу id = category_id
Вот не получается выбрать из бд значения категории и родительской категории
Пробывал использовать Eloquent что то типа
$results = $this->startConditions()
->select($columns)
->with([
'blogCategory:id,parent_id,show,show_menu,created_at'
])
->take($count)
->get();
И сыррые данные
$rows =DB::select('SELECT bc.id,
bc.parent_id,
bc.show_menu,
bc.show,
bc.created_at,
bc.updated_at,
bcd.lang AS lang_bcd,
bcd.category_id,
bcd2.category_id AS cat_id_bcd2,
bcd.name AS name_bcd,
bcd2.name AS name_bcd2
FROM blog_categories bc
LEFT JOIN blog_category_descriptions bcd ON (bcd.category_id = bc.id)
LEFT JOIN blog_category_descriptions bcd2 ON (bcd2.category_id = bc.parent_id)
ORDER BY bc.created_at
DESC limit ?', [$count]);
с сырыми все выбирается однако получаются дубли.
Можете подсказать правильный способ такой выборки или куда копать. Или как выбрать уникальные сырые данные.
Спасибо