2017-05-04 70 views
2

我想檢查是否變量是存在與否刀片..for,我已經使用以下行:如何檢查是否變量在laravel葉片數據

@if(is_null($products)) 
    <div class="alert alert-warning"> 
     <strong>Sorry!</strong> No Product Found. 
    </div>          
@else 

    @foreach($products as $product) 
     // 
    @endforeach 
@endif 

問題是當有$products刀片上我可以顯示內部的foreach循環,但是當我得到空變量。我不能顯示消息No Data Found而不是它顯示只有空的空間? 是否有任何檢查刀片內部變量的問題?

控制器代碼:

public function productSearch(Request $request) 
    { 
     $name = $request->name; 
     $products = Product::where('name' , 'like', '%'.$name.'%')->get(); 
     return view('cart.product',compact('products')); 
    } 
+0

替換'@if(is_null($產品))'和'@if(!空($ products))' – Akshay

回答

4

我一般用PHP count()

@if(count($products) > 0) 
    <div class="alert alert-warning"> 
     <strong>Sorry!</strong> No Product Found. 
    </div>          
@else 

    @foreach($products as $product) 
     // 
    @endforeach 
@endif 

你也可以檢查與PHP empty()像:

@if(!empty($products) > 0) 
1

對我來說,我會用邏輯是這樣

if(!$products->isEmpty()){ 
     return view('cart.product', compact('products')); 
}else{ 
    return view('pageerror', compact('products')); 
} 

那麼你可以從你的視圖文件夾叫pageerror顯示不具有數據

+0

您可以將頁面錯誤稱爲全局 – Kristoff

0

關於檢查長什麼任何頁面?

@if(count($products)) >= 1) 
    @foreach($products as $product) 
     // 
    @endforeach 
@else 
    <div class="alert alert-warning"> 
     <strong>Sorry!</strong> No Product Found. 
    </div>          
@endif 

由於空集(我的意思是具有零個元素的數據stucture)不爲空的。

php > $a = []; 
php > echo is_null($a) ? 1 : 0; 
// => 0 
1
@forelse($products as $product) 
<p>do some thing</p> 
@empty 
<p>No Products</p> 
@endforelse 

Refer

0

您可以檢查像

@if(isset($products) && !empty($products)) 
<div class="alert alert-warning"> 
    <strong>Sorry!</strong> No Product Found. 
</div>          
@else 

    @foreach($products as $product) 
    // 
    @endforeach 
@endif 
0

試試這個

   @forelse($products as $product) 
       // 
       @empty 
       <div class="alert alert-warning"> 
        <strong>Sorry!</strong> No Product Found. 
       </div> 
       @endforelse 
0

is_null求給定變量是否爲空或不是。但在我們的情況下,我們需要檢查是否爲空的值爲此,您可以使用isset()或empty()函數都在您的案例中工作相同

isset - 確定是否設置變量,是不爲NULL和

空 - 檢查一個變量是否爲空,也告訴變量設置

@if(isset($products) && !empty($products)) 
     @foreach($products as $product) 
     // 
    @endforeach         
@else 

    <div class="alert alert-warning"> 
     <strong>Sorry!</strong> No Product Found. 
    </div> 
@endif 
0

正如你可以在文檔中看到:

@forelse ($users as $user) 
    <li>{{ $user->name }}</li> 
@empty 
    <p>No users</p> 
@endforelse 

此代碼將允許您解析所有用戶並顯示它們的列表。如果$users變量是空的,那麼它會顯示一個段落

這樣對你:

@forelse ($products as $product) 
    // 
@empty 
    <div class="alert alert-warning"> 
     <strong>Sorry!</strong> No Product Found. 
    </div>  
@endforelse