@foreach($ prognoses as $ sport_prognose)
 < PHP
 $ pr = Cache :: get(Config :: get('variables.cache.prediction'),['id'=> $ sport_prognose ['id']]);
的print_r($ PR);
死();
 ?>
 @ endforeach



 如果我在Controller中调用相同的函数,则显示所需的信息,但不是在上面的示例中。


为什么会这样?

答案 0 :(得分:0)
您可以使用cache()
和config()
以及其他global helpers代替外墙来避免此类问题。
答案 1 :(得分:0)
在刀片模板内,您可以编写如下内容:
{{ $pc::getProducts($ship->products) }}
注意变量的使用。显然,getProducts是控制器内部的静态方法,而$ ship-> products是来自数组的变量。让我们简单点:假设$ ship-> products为1,而getProducts为:
static function getProducts($id) { echo "id is $id; }
如果您运行此脚本,则会收到错误消息,因为模板缺少$ pc的值。您如何解决这个问题?您需要将$ this的值传递给模板:
return View::make('shipping.index')->with(['pc' => $this, 'shipping' => $shippings);
此处为shipping.index为模板,而pc的值为$ this,这使$ pc可以访问刀片模板内的getProducts。