I have 4 tables media, media_type, media_mapping and country.
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.
Where in media_mapping table country_id contain comma separated ids like 1,2,3,4 from country table.
I want to fetch selected column data from all of this table using laravel eloquent.
I have tried below code where it gives error for comma separated column.
$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();
When column contain only one country id then this code run properly but when it has comma separated values in column then it will gives below error.
"SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "1,3,5,7" (SQL: select "id", "name" from "country" where "country"."id" in (1,3,5,7, 3))"
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire