Вы можете создать новый столбец в таблице, чтобы отслеживать последнее обновленное значение амортизации, например depreciation_updated_at
(тип: дата) ИЛИ использовать created_at/updated_at
столбец, чтобы получить последний месяц обновления (если нет других причин для обновления записи).
Тогда просто используйте обновленную версию своего кода:
all_item=assets::all();
foreach($all_item as $item)
{
$month=Carbon::now()->format('m');
$depreciation_updated_at = createFromFormat('Y-m-d', $item->depreciation_updated_at); //or can use created_at/updated_at as said below
if ($depreciation_updated_at ->format('m') != $month) {
$update_item = assets::findOrFail($item->id);
$update_item->depriciation_cost = $item->depriciation - $item->depriciation_cost;
$update_item->update();
}
}
Надеюсь, он выполнит вашу задачу.