[英]How to get original accessor data when update Model Laravel?
我想在更新實例時將數據前后寫入日志表。
我通過getOriginal()
方法獲取 beforeUpdate(original) 數據,但我不知道如何獲取與原始數據相關的數據。
前任:
表campaigns
具有字段campaign_status_id
。
我有一個訪問器是getCampaignStatusNameAttribute()
,此方法將獲取campaigns
表和campaign_status
表之間的關系並返回campaign_status_name
。
如果我更新活動狀態並調用getCampaignStatusNameAttribute()
,我只會收到更新的數據。 當然,我可以寫一個自定義的功能,並通過campaign_status_id
作為一個參數去獲取數據,但我想知道有什么更好的解決方案。
獲得原始訪問器的任何解決方案?
為了獲得原始數據,您使用
$model->getAttributes()['column_name']
或這個
Arr::get($model->getAttributes(), 'column_name', 'default_value_here') // default value can be null
如果您使用Arr
方式,請確保在頂部導入此Arr
幫助程序外觀。 Arr
方式的優點是,即使該值不存在,它也不會返回任何錯誤,並且如果該值不存在,您總是可以返回一些默認值。
如果最近被調用, getOriginal
將返回修改后的內容。 這並不是最可靠的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.