在 Laravel 版本 9 上,我尝试使用if内部有条件的 Accessor;简而言之,postImage仅当图像的路径不以“http://”或“https://”术语开头时,我才需要对应用程序的属性使用访问器(以便图像源来自另一个网站的代码将正确显示,路径中不会进行任何操作),但我无法根据 Laravel 9 Accessor (和 Mutator)的新语法找到正确的方法。
我的 Post 模型中的属性postImageAccessor (我知道这是错误的,但我正在尝试找到正确的方法,这就是重点):
protected function postImage():Attribute {
return Attribute::make(
get: fn ($value) =>
if (strpos($value, 'https://') !== FALSE || strpos($value, 'http://') !== FALSE) {
return $value;
}
return asset('storage/' . $value);
);
}
Run Code Online (Sandbox Code Playgroud)
您能帮助我采用新的合适方法来完成我想做的事情吗?
我在这个网站上尝试了这段代码,它工作正常并返回 60,因为它应该,但是当我尝试在 HTML 网页上运行它时,它首先返回 10,其他 2 个值将是 NaN,我不明白为什么发生此错误。我将不胜感激您的解决方案。
var numbers = [ 10, 20, 30 ] ;
numbers.reduce(function(sum , number){
return console.log( sum + number);
} , 0);Run Code Online (Sandbox Code Playgroud)