Laravel красноречивый ownsto с несколькими идентификаторами в столбце в виде запятой

я имею 4 стола

media, media_type, media_mapping и страна.

country with field id, name, created_at, updated_at.

media_type with field id, name, created_at, updated_at.

media table with field id, name, media_type_id, description, created_at, updated_at.

media_mapping with field id, media_id,country_id, hastags, created_at, updated_at.

Где в таблице media_mapping

country_id содержит идентификаторы, разделенные запятыми, например 1,2,3,4 от страны
Таблица.

Я хочу получить выбранные данные столбца из всей этой таблицы, используя laravel eloquent.

Я попробовал ниже код, где он дает ошибку для колонки, разделенной запятыми.

$mediaQuery = new Media();
$mediaQuery = $mediaQuery->newQuery();
$mediaQuery->orderBy('created_at', 'desc')
->with(array('MediaMapping'=>function($query){
$query->select('media_id', 'country_id', 'hashtags')->with(array('Country'=>function($query){
$query->select('id','name');
}
));
},
'MediaType'=>function($query){
$query->select('id','name');
})
);
$allDataList = $mediaQuery->get();

Если столбец содержит только один идентификатор страны, тогда этот код выполняется правильно, но если в столбце указаны значения, разделенные запятыми, он выдаст ошибку ниже.

«SQLSTATE [22P02]: неверное текстовое представление: 7 ОШИБКА: неверный ввод
синтаксис для целого числа: «1,3,5,7» (SQL: выберите «id», «name» из «country», где «country». «id» в (1,3,5,7, 3)) »

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]