abfragen Ich arbeite an einem Projekt. Für jetzt sagen wir, ich habe 3 Tabellen "districts", "crimes" and "cases"
. Die Falltabelle enthält alle registrierten Fälle.Wie Sie dies mit Laravel 5.5
Case.php (EDIT: fehlendes Zitat)
class Case extends Model
{
protected $table = 'cases';
protected $fillable = ['person_name','crime_id' ,'district_id','crime_date'];
public function crime()
{
return $this->belongsTo('App\Crime');
}
}
District.php
class District extends Model
{
protected $table = 'districts';
protected $fillable = ['name']; // name of districts like "A district","B district" etc.
public function cases()
{
return $this->hasMany('App\Case');
}
}
Crime.php
class Crime extends Model
{
protected $table = 'crimes';
protected $fillable = ['name']; // name of different types of crime like rape, murder etc.
}
Mein Ausgang am Ende des Monats sollte folgendermaßen aussehen unten im report.blade.php für zB: Totaler Verbrechen in einem Bezirk im Dezember, Gesamtverbrechen des B Bezirkes in Dezember, Totalverbrechen des Bezirks C im Dezember. Simillary für alle Bezirke in jedem Monat (Januar-Dezember eines jeden Jahres)
District name | total crime | crime
A 3 rape
murder
attempt to murder
B 1 rape
C 0 No crime reported
// dh: oben sind die Daten für Dezember Monat 2017 in jedem Bezirk
Controller: Ich brauche diese Abfrage zu ändern oben Ausgabe zu erhalten, da diese in jedem Bezirk insgesamt Verbrechen und Verbrechensarten geben, aber unabhängig von jedem Monat
public function index(){
$districts = District::with('cases.crime')->get();
return $districts;
}
auf Rückkehr bekam ich diesen
[
{
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"
}
}
]
}
]