記錄一個Laravel orm訪問器不起作用的問題

Table of Contents

前言

今天碼磚的時候發現laravel orm的訪問器在用户前台死活都用不了,但是管理員後台卻顯示正常,一時間感到很迷亂……

問題原因

經過仔細觀察,原來後台是先查詢然後再通過手工調用對象屬性的方式顯示,前台則是查詢後直接將結果返回給用户。

翻了下官方手冊,orm的訪問器並不是在數據庫查詢的時候起的作用,而是在調用相應的orm對象屬性的時候才會生效。

所以,想用訪問器的話就不要把查詢到的orm對象直接返回給客户了,中間加一層處理就好了。

附加

根據訪問器的工作原理可知,假如數據庫查詢時限制了輸出的字段,那麼在訪問器中被限制輸出的字段是沒辦法用$this->field或$this->attributes[‘field’]來索引的。

2 thoughts on “記錄一個Laravel orm訪問器不起作用的問題”

Leave a Reply to 絕世壞蛋 Cancel reply

Your email address will not be published. Required fields are marked *

Captcha Code