doing this i got only name of district with zero crime ,although i have some crime in every district
$districts = District::with([
'cases' => function ($query) {
$query->whereMonth('crime_date', date('m'))
->whereYear('crime_date', date('y'));
},
'cases.crime'
])->get();
i got this in controller writing above code
[
{
id: 1,
name: "A",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00",
cases: [ ]
},
{
id: 2,
name: "B",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00",
cases: [ ]
}
]
But writing this
$districts = District::with('cases.crime')->get();
return $districts;
i got this
[
{
id: 1,
name: "A",//name of district
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00",
cases: [ //registered cases
{
id: 1,
crime_id: 1,
district_id: 1,
crime_date: "2017-12-31 00:00:00",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00",
crime: {//name of crime from crimes table
id: 1,
name: "Rape",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00"
}
},
{
id: 3,
crime_id: 4,
district_id: 1,
crime_date: "2017-12-31 00:00:00",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00",
crime: {
id: 4,
name: "Women trafficking",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00"
}
},
{
id: 4,
crime_id: 3,
district_id: 1,
crime_date: "2017-12-31 00:00:00",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00",
crime: {
id: 3,
name: "Murder",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00"
}
}
]
},
{
id: 2,
name: "B",//name of district from districts table
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00",
cases: [
{
id: 2,
crime_id: 1,
district_id: 2,
crime_date: "2017-12-31 00:00:00",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00",
crime: {
id: 1,
name: "Rape",
created_at: "-0001-11-30 00:00:00",
updated_at: "-0001-11-30 00:00:00"
}
}
]
}
]
I want to show total crime and name of crime on particular district at the end of month
For eg:->total crime in "A" district was 3 and name of crime are rape,murder,traficking on month december
->total crime in "B" district was 1 and name of crime are "rape" on month december
//etc for 12 month in each district
Simillarly total crime in "A" district was 4 and name of crime are rape,murder,traficking,violence on month january