Php 如果条件不在刀片模板中的@auth下工作
在我的项目中,用户可以通过Facebook或注册表单注册自己 我有一个刀片模板按钮。我在限制它。如果来宾用户单击按钮,则会出现一个模式,显示“请登录或注册”。但是,如果注册用户单击按钮,我想在这里对if条件进行以下两项检查:Php 如果条件不在刀片模板中的@auth下工作,php,laravel,Php,Laravel,在我的项目中,用户可以通过Facebook或注册表单注册自己 我有一个刀片模板按钮。我在限制它。如果来宾用户单击按钮,则会出现一个模式,显示“请登录或注册”。但是,如果注册用户单击按钮,我想在这里对if条件进行以下两项检查: 如果电子邮件未经验证且Facebook_id为空,则重定向至verify.email blade 如果电子邮件未经验证,但Facebook_id不为空,则重定向到促销刀片 现在来宾用户可以点击按钮,它会弹出一个用于登录/注册的弹出窗口,但是一旦用户完成了登录/注册,那么其余
@guest
{{{('Continue')}
验证
&时代;
此页受限。请选择或生成代码
接近
@终客
@认证
@如果(\Auth::check()&&\Auth::user()->email\u verified\u at=''&&\Auth::user()->provider\u id='')
@elseif(\Auth::check()&&\Auth::user()->电子邮件地址==''&&\Auth::user()->提供者id!='')
@恩迪夫
@endauth
我自己想出来的
所以我根据问题提出了两个条件
1) If the email is not verified and Facebook_id is null then redirect to verify.email blade.
2) If the email is not verified but Facebook_id is not null then redirect to promotion blade
我忘了想想,如果用户的电子邮件已经被验证,他在页面上登陆,在这种情况下,没有为这样的用户定义操作,所以按钮没有显示
我只是在if语句中添加了第三个条件,所以在@endif之前我只是添加了这一行
@elseif(\Auth::user()->email_verified_at != '' && \Auth::user()->provider_id == '')
<a href="{{route('dynamicDropDown-for-private-seller') }}">{{ __('Continue')}}</a>
@elseif(\Auth::user()->email\u verified\u at!=''&&\Auth::user()->provider\u id='')
现在它的工作完美 请尝试在@if和起始主题之间添加空格<代码>@if()@PatricNox Nope。没有工作为什么要检查
auth()->check()
两次?一次在@auth
中,另一次在@if
@auth
中,指令等于
,这可能是因为使用了嵌套的if而没有括号{
@auth
和@if
不使用{
在它们的定义中。@BABAKASHRAFI你是对的,但我只是想再次检查我的身份验证是否有效,而且在知道数据库字段的状态之前,我想确保我的用户已登录。
@elseif(\Auth::user()->email_verified_at != '' && \Auth::user()->provider_id == '')
<a href="{{route('dynamicDropDown-for-private-seller') }}">{{ __('Continue')}}</a>