首页 > 解决方案 > 在 Laravel 刀片文件中,数据未打印但为 json 格式,数据存在

问题描述

虽然这个问题非常愚蠢,但我被困在 JSON 响应中存在变量数据但我无法在刀片中打印它。

我有时间表消息的记录:

在这里我想显示消息问题,所以我在这里使用雄辩。我为预定消息设置了组记录。

虽然我可以使用 id 打印组名,但消息问题的相同代码将不起作用。

如果我在刀片中执行以下操作,我们可以看到数据:

{{ $schedule_message }}

输出:


{ 
   "id":28,
   "group_id":73,
   "issue_id":2,
   "title":"Et eum quibusdam ut delectus.",
   "content":"Sunt inventore ea quisquam at repudiandae error. Qui soluta iusto voluptates sint quo est tempore impedit.",
   "url":"https:\/\/www.google.com",
   "trigger_at":"2019-11-26 18:12:57",
   "day":"26th Nov, 2019",
   "time":"18:12:57 PM",
   "type":1,
   "status":1,
   "creator_id":44,
   "moderator_id":48,
   "created_at":"2019-11-26 09:32:17",
   "updated_at":"2019-11-26 09:32:17",
   "deleted_at":null,
   "group":{ 
      "id":73,
      "name":"Wable, Krish and Deo"
   },
   "issue":{ 
      "id":2,
      "title":"Arthritis"
   },
   "creator":{ 
      "id":44,
      "name":"Heer Mukherjee"
   },
   "moderator":{ 
      "id":48,
      "name":"Rupesh Ganesan"
   }
}

但是如果我在刀片中这样做,我会得到空白/注意/空:

{{ $schedule_message->issue }}

测试:如果我在刀片中这样做,它可以工作:

{{ $schedule_message->group }}

输出:

{"id":73,"name":"Wable, Krish and Deo"} 

数据库结构是一样的。雄辩的代码是一样的。即使我得到 JSON 格式的输出,那么刀片文件有什么问题?


控制器代码添加如下:


ScheduleMessage::with(['group','issue', 'creator', 'moderator'])->latest()->paginate(env('REC_LIMIT'));


标签: jsonlaraveleloquentlaravel-blade

解决方案


出于某种原因,除非我跑,否则它不起作用php artisan cache:clear。这对我来说已经完全磨损了:/我现在仍然在帖子中包含了控制器代码。模型代码很好,因为我在缓存清除之前获取了组的数据。并且问题函数是组函数的dido,只是表名发生了变化。


推荐阅读