J'ai deux tables: statuts et status_logs.Laravel 5/Eloquent - Retourne une date Basé sur le created_on Colonne Plus Variable Heures
Le états table a 3 colonnes: id, nom, durée
Le status_logs tableau a 3 colonnes: id, status_id, created_at
J'ai deux modèles qui ressemblent à ceci:
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');
}
}
Je peux obtenir des données des deux tables en utilisant:
StatusLog::with('status')->get();
Le résultat ressemblerait à quelque chose comme:
"status_logs": [{
"id": 1,
"status_id": 1,
"created_at": "02:34:53 10/5/2017",
"statuses": {
"id": 1,
"name": "started"
"duration": 48
}
}]
Je voudrais ajouter une colonne appelée finish_at à chaque objet à l'intérieur du tableau status_logs. Cette date/heure sera la valeur created_at plus n'importe quelle valeur entière de durée est. Durée est le nombre d'heures que nous devons ajouter à created_at pour obtenir la valeur de finish_at.
Le résultat devrait ressembler à:
"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
}
}]
Comment puis-je faire cela?