如何解决如果@include 中存在变量,则检查刀片
我正在使用 laravel 7.4 开发一个系统,我需要检查我从控制器发送的一个变量是否存在于我的刀片中。如果存在,包括它:
我的控制器中有此代码:
public function index()
{
//Store Image
$newsItem = User::find(Auth::user()->id);
if($newsItem->hasMedia('userPhoto')){
$profilePhoto = $newsItem->getMedia('userPhoto')[0]->file_name;
$idPhoto = $newsItem->getMedia('userPhoto')[0]->id;
return view('home')->with('idPhoto',$idPhoto)
->with('profilePhoto',$profilePhoto);
}else if($newsItem->hasMedia('logoSystem')){
$logoSystem = $newsItem->getMedia('logoSystem')[0]->file_name;
$idPhotologo = $newsItem->getMedia('logoSystem')[0]->id;
return view('home')->with('idPhotologo',$idPhotologo)
->with('logoSystem',$logoSystem);
}else{
return view('home');
}
if($newsItem->getMedia('userPhoto') && $newsItem->getMedia('logoSystem')){
return view('home')->with('idPhoto',$idPhoto)
->with('profilePhoto',$profilePhoto)
->with('idPhotologo',$idPhotologo)
->with('logoSystem',$logoSystem);
}
}
此返回 profile image
或 system image
,但此图像可能不存在,我需要事先检查,因为我的系统有错误,无法显示我的视图。
{{-- asset('storage/'.$idPhoto."/".$profilePhoto) --}}
但以前我需要将此变量发送到我的视图 head
和之后发送到我的侧边栏。
我正在尝试这样做:
home.blade.PHP
@include('layouts.head',(isset([$idPhoto])) ? ["idPhoto" => $idPhoto,"idPhotologo" => $idPhotologo] : '')
head.blade.PHP
@include('layouts.sidebar',["idPhoto",$idPhoto,"idPhotologo" => $idPhotologo])
并在我的侧边栏中创建了我的图像:
<img src="{{-- asset('storage/'.$idPhoto."/".$profilePhoto) --}}" alt="logo" class="brand-image">
更新
@if(isset([$idPhoto])
@include('layouts.sidebar',"idPhotologo" => $idPhotologo])
@else
@include('layouts.sidebar')
@endif
@if(isset([$idPhoto])
@include('layouts.head',["idPhoto" => $idPhoto,"idPhotologo" => $idPhotologo])
@else
@include('layouts.head')
@endif
这次返回:
Syntax error,unexpected token ":",expecting "(" (View: C:\wamp64\www\clinicaCampoy\resources\views\home.blade.PHP)
我需要做的是,如果桌面媒体为空,则默认加载图像,但如果桌面媒体有徽标或图像系统,则加载此图像
解决方法
你可以使用if条件
@if(isset($idPhoto))
@include('layouts.head',["idPhoto" => $idPhoto,"idPhotoLogo" => $idPhotoLogo])
@endif
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。