繁体   English   中英

三元运算符。 && 不起作用。 Laravel, 刀片

[英]Ternary operator. && does not work. Laravel, Blade

我有一个image Storage ,用于存储来自用户个人页面的images 图像的名称也存储在数据库中users表的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' }}">

原因在于不同类型的数据。 在数据库中我有一个字符串,在存储中有一个 object (如果我正确调用它的话)即图像,所以检查没有工作。 您可以使用Storage::exist()外观 function 来检查图像是否存在。

<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' }}">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM