2016-12-21 62 views
0

我最近在laravel编码,但我遇到了一些我不太了解的东西,我怎么能用laravel为以下代码运行multiple where子句查询?Laravel多与3 if语句在哪里?

@if ($businesses->where('business_owner_id', '=', Auth::user()->id)->where('business_status', '=', 'accepted')->count() > 0) 
         You own a business... 
@elseif ($businesses->where('business_owner_id', '=', Auth::user()->id)->where('business_status', '=', 'pending')->count() > 0) 
         You have a business, but it is currently pending. 

    @else 
     <p>You can apply to create your own business by clicking the button below.</p> 
     <a href="/business/create"><div class="btn btn-default">Create a business</div></a> 
    @endif 

错误:解析错误:语法错误,意外 ')'

如何通过$企业?

Cache::remember('overview.businesses', 1, function() { 
      return Businesses::get(); 
     }); 

     return view('frontend.business.overview')->withBusinesses(Cache::get('overview.businesses')); 
+0

这里有什么错误? –

+0

我已更新我的问题。 –

+0

你在哪一行得到错误? –

回答

1

你最好不要做那些种在你的意见过滤器/搜索/计算的,他们应该是不聪明,所以我将其更改为

$businesses = Cache::remember('overview.businesses', 1, function() { 
    return Businesses::get(); 
}); 

$acceptedCount = $businesses->where('business_owner_id', '=', Auth::user()->id)->where('business_status', '=', 'accepted')->count(); 

$pendingCount = $businesses->where('business_owner_id', '=', Auth::user()->id)->where('business_status', '=', 'pending')->count(); 

return view('frontend.business.overview', compact('acceptedCount', 'pendingCount')); 

然后你只需要做在你看来:

@if ($acceptedCount > 0) 
    You own a business... 
@elseif ($pendingCount > 0) 
    You have a business, but it is currently pending. 

@else 
    <p>You can apply to create your own business by clicking the button below.</p> 
    <a href="/business/create"><div class="btn btn-default">Create a business</div></a> 
@endif 
+0

谢谢你的回答,它工作很好,除了它表示$ acceptedCount在视图中是未定义的? –

+0

请检查变量名称。我只是编辑来简化传递给视图的变量。 –