三元运算符。 && 不起作用。 Laravel、Blade
Ternary operator. && does not work. Laravel, Blade
我有一个 image Storage
存储来自用户个人页面的 images
。图像的名称也存储在数据库中 users
table 的 img
字段中。如果 DB
中有 name
并且 storage
中有 image
,我想显示它,否则我想显示默认图像。我试过了,但是 &&
不起作用。我想我做错了什么:
<img src="{{ ((Auth::user()->img) && (Storage::url('users/'.Auth::user()->img))) ? (Storage::url('users/'.Auth::user()->img)) : '/img/svg/laptop-house-solid.svg' }}">
原因在于不同类型的数据。在数据库中我有一个字符串,在 Storage 中有一个对象(如果我正确调用它)即图像,所以检查没有用。您可以使用 Storage::exist()
facade 函数来检查图像是否存在。
<img src="{{ ((Auth::user()->img) && (Storage::disk('public')->exists('users/'.Auth::user()->img))) ? (Storage::url('users/'.Auth::user()->img)) : '/img/svg/laptop-house-solid.svg' }}">
我有一个 image Storage
存储来自用户个人页面的 images
。图像的名称也存储在数据库中 users
table 的 img
字段中。如果 DB
中有 name
并且 storage
中有 image
,我想显示它,否则我想显示默认图像。我试过了,但是 &&
不起作用。我想我做错了什么:
<img src="{{ ((Auth::user()->img) && (Storage::url('users/'.Auth::user()->img))) ? (Storage::url('users/'.Auth::user()->img)) : '/img/svg/laptop-house-solid.svg' }}">
原因在于不同类型的数据。在数据库中我有一个字符串,在 Storage 中有一个对象(如果我正确调用它)即图像,所以检查没有用。您可以使用 Storage::exist()
facade 函数来检查图像是否存在。
<img src="{{ ((Auth::user()->img) && (Storage::disk('public')->exists('users/'.Auth::user()->img))) ? (Storage::url('users/'.Auth::user()->img)) : '/img/svg/laptop-house-solid.svg' }}">