Laravel 检查它是否有来自模型的数据

Biz*_*v B 2 php laravel laravel-4

我正在从 url 接收数据并将其发送到模型,然后像这样显示在模型中。

public function BlogDisplay($data=NULL)
    {
        $BlogData = BlogModel::where('BlogLink', '=', $data)->get();
        return View::make('Blogs', array('BlogData' => $BlogData));
Run Code Online (Sandbox Code Playgroud)

然后在视图中。

但是为了检查它是否有数据,我在这样的视图中这样做:

<?php

   if($BlogData)
   {
     var_dump($BlogData);
     echo 'has data';
   }
   else
   {
     var_dump($BlogData);
     echo 'has no data';
   }
?>
Run Code Online (Sandbox Code Playgroud)

但它都显示了数组。

我如何检查给定的 $data 是否存在于数据库中。

Jer*_*ris 5

你最有可能得到回一个Illuminate/Database/Eloquent/Collection对象和truthy检查回来为真,因为对象是存在的。您可以做的是使用该isEmpty()对象中内置的方法。

http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Collection.html#method_isEmpty

在您看来:

@if ($BlogData->isEmpty())
    Nothing Here
@else 
    Got data!
@endif
Run Code Online (Sandbox Code Playgroud)