Ich habe zwei Tabellen: Status und status_logs.Laravel 5/Eloquent - ein Datum basierend auf der created_on Spalte plus Variable Stunden
Die Status Tabelle hat drei Spalten: id, Name, Dauer
Die status_logs Tabelle hat drei Spalten: id, status_id, created_at
Ich habe zwei Modelle, die so aussehen:
class Status extends Model{
// Name of our database table
protected $table = 'statuses';
// Defines the relationship between this table and the status_logs table
public function status_logs(){
return $this->hasMany('App\Models\Status', 'status_id');
}
}
class StatusLog extends Model{
// Name of our database table
protected $table = 'status_logs';
// Defines the relationship between this table and the statuses table
public function statuses(){
return $this->belongsTo('App\Models\Status', 'status_id');
}
}
Ich kann Daten aus beiden Tabellen erhalten, indem mit:
StatusLog::with('status')->get();
Das Ergebnis wäre wie etwas aussehen:
"status_logs": [{
"id": 1,
"status_id": 1,
"created_at": "02:34:53 10/5/2017",
"statuses": {
"id": 1,
"name": "started"
"duration": 48
}
}]
Ich mag wäre eine Spalte finish_at aufgerufen hinzufügen jedes Objekt innerhalb der status_logs Array. Dieses Datum ist created_at Wert plus was auch immer der ganzzahlige Wert von Dauer ist. Dauer ist die Anzahl der Stunden, die wir zu created_at hinzufügen müssen, um den Wert finish_at zu erhalten.
sollte das Ergebnis wie folgt aussehen:
"status_logs": [{
"id": 1,
"status_id": 1,
"created_at": "02:34:53 10/5/2017",
"finish_at": "02:34:53 10/7/2017",
"statuses": {
"id": 1,
"name": "started"
"duration": 48
}
}]
Wie würde ich das tun?