已解决:以下答案。
我将Laravel项目从5.3升级到5.4然后升级到5.5。
目前唯一被打破的是,当我进入产品编辑页面时,我收到错误:
Property [specifications] does not exist on this collection instance.
例外:
public function __get($key)
{
if (! in_array($key, static::$proxies)) {
throw new Exception("Property [{$key}] does not exist on this collection instance.");
}
return new HigherOrderCollectionProxy($this, $key);
}
这是由刀片模板中的这一行引起的:
@if($categories->specifications->first())
$categories
变量从ProductController传递给视图,如下所示:
$categories = Category::with('specifications.attributes')->find($product->getCategoryId());
5.4 / 5.5中哪些内容可能会破坏这行代码?
答案 0 :(得分:2)
由于某些原因,我必须在访问规范之前将->first()
添加到$categories
。
$categories->first()->specifications->first()
在同一视图中,此$product->categories->first()
工作正常,返回方式与控制器中的类别相同,但不需要另一个->first()
。不知道为什么。