【问题标题】:Laravel blade path with . (Period, full stop) in the pathLaravel 刀片路径与 . (句号,句号)在路径中
【发布时间】:2018-06-02 17:50:57
【问题描述】:

我有一个 json 文件。 (句点)在 json 的关键部分。这使得在 Laravel Blade 中很难找到路径。

{
"id":138,
"desc":"testinfo",
"fields":{ "System.AreaPath":"Project 1"}
}

我可以字符串替换 .什么都没有,但我也将它们从电子邮件地址中删除。

{{$resp->fields->System.AreaPath}}

不起作用。

我尝试了刀片不支持的替代字符。 (例如 $ % ^ & | ,)如果我从 .到 XXX 然后我得到一个

Trying to get property 'id' of non-object 

【问题讨论】:

  • 你能解释一下你想要实现什么以及刀片在哪里出现吗?
  • 我不确定除了替换句号之外是否还有其他方法。您确定无法解决电子邮件问题吗? (stackoverflow.com/questions/41585874/…)
  • 当然,我从 Microsoft API 获取提要,因此密钥和内容不受我控制。我使用 guzzle 进行主要调用,然后将 json 传递到我的 Blade。
  • 所以遍历fields 属性并更改键中的.
  • 我已经尝试过迭代,但是它依次迭代了键和值。我觉得这样做有点邋遢。我本来打算把它保存为“Z计划”,还是谢谢你。

标签: php laravel laravel-blade


【解决方案1】:

System.AreaPath 被解释为 PHP 中不允许的变量。 $ % ^ & | , - 和其他符号也是如此。

你可以试试数组

$string =  '{
"id":138,
"desc":"testinfo",
"fields":{ "System.AreaPath":"Project 1"}
}'

然后使用json_decode($string, TRUE);

现在你可以像这样访问了。

{{$resp['fields']['System.AreaPath']}}

希望这会有所帮助。

【讨论】:

  • 这确实有效,你能告诉我 $resp->id 和 $resp["id"] 之间的区别吗?
【解决方案2】:
$resp->fields->{"System.AreaPath"}

【讨论】:

  • 不好,我很害怕,刀片看起来像 {{$resp->fields->{"System.Title"}}} 并且渲染看起来不错。但它不会渲染。
猜你喜欢
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
  • 2018-11-07
  • 2019-08-08
  • 2019-08-14
  • 2018-02-05
  • 2018-09-28
  • 2015-02-15
相关资源
最近更新 更多