我有兩個表:狀態和status_logs。Laravel 5/Eloquent - 根據created_on列加可變小時返回日期
的狀態表有3列:ID,名,時間
的status_logs表有3列:ID,STATUS_ID,created_at
我有兩個看起來像這樣的模型:
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');
}
}
我可以用得到兩個表的數據:
StatusLog::with('status')->get();
結果看起來是這樣的:
"status_logs": [{
"id": 1,
"status_id": 1,
"created_at": "02:34:53 10/5/2017",
"statuses": {
"id": 1,
"name": "started"
"duration": 48
}
}]
我想添加一列名爲finish_at到status_logs數組中的每個對象。此日期時間將是created_at值加上任何整數值持續時間是。 持續時間是我們需要添加到created_at以獲得值finish_at的小時數。
結果應該是這樣的:
"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
}
}]
我將如何做到這一點?