Поскольку значение в province_id
не число, а строка с разделенными пробелами ids
из provinces
, вы не можете применить =
в этом случае. Вместо этого вам нужно заменить " "(space)
на ,(comma)
и использовать find_in_set
метод mysql
.
$query = DB::table('parks')
->join('parks', function($query){
$query->on(DB::raw('find_in_set(provinces.id, REPLACE(parks.province_id, " ", ",")'));
})
->select('parks.id as id', 'main_image','news_time_date')
->get();