I want to make join using column contains JSON array and column type is text. transaction table
| id | type |
|---|---|
| 1 | cash |
| 2 | cash |
| 3 | credit |
route_activities table
| id | transactions |
|---|---|
| 1 | [{transaction_id:"1"},{transaction_id:"2"}] |
| 2 | [{transaction_id:"2"}] |
so I was trying with these code
$sale_data = DB::table('route_activities')
->Join('routes','routes.driver_id','=','route_activities.driver_id')
->Join('transactions','transactions.transaction_id',
DB::Raw("route_activities.transactions->'$[*].transaction_id',CAST(transactions.transaction_id as JSON)")
)
->selectRaw('
route_activities.activity as activity,
route_activities.check_in as check_in,
route_activities.date as date,
route_activities.check_out as check_out,
route_activities.coordinates as coordinates,
CASE WHEN visit_status = "Productive" THEN "true" ELSE "false" END as is_productive
')
->get();
and it's not working. I get some links this and this
but all of them is not giving me what I am looking for. any help :)?
I am using Laravel-v7.30. and Mysql v5.7