无法访问Laravel中的一个特定模型,正在获取一个空白页面


Cannot access one particular model in Laravel, getting a BLANK page

我正试图从一个名为"city"的MySQL表中获取不同的城市名称。

以下是控制器代码的样子:

public function getCityNames()
{
    if(Auth::check()) 
    {
        $cities = DB::table('city')->distinct()->get();
        var_dump($cities);
    }
    else
    {
        return Redirect::route('account-signin');
    }
}

这是模型城市的代码:

<?php
use Illuminate'Auth'UserInterface;
use Illuminate'Auth'Reminders'RemindableInterface;
class City extends Eloquent
{
    /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'city';
    /**
     * Using a different primary key name
     *
     */
    protected $primaryKey  = 'geoname_id';  
    public $timestamps = false;
}

问题

我可以使用上面这个控制器中的确切代码从其他模型输出不同的值,但当我为城市运行它时,我会得到一个空白页面。

  • 我正在使用Laravel 4,并启用了详细的错误消息
  • 当然,"城市"表中有数据

更新:当我写以下内容时,我会得到数据:

public function Test()
{
    return City::where('country_name', '=', 'Canada')->get();
}

但是当我写下以下内容时,我得到了黑色页面?数据大小有问题吗?

public function Test()
{
    return City::all()->get();
}

不确定这是否有问题,但您是否正在尝试查看var_dump($cities)的输出?

如果是这样的话,return var_dump($cities);不应该给你输出而不是空页面吗?

代码如下:

public function getCityNames()
{
    if(Auth::check()) // Tip: You can apply auth filters to controllers if you want. 
    {
        $cities = DB::table('city')->distinct()->get();
        return var_dump($cities); // Add return here.
    }
    else
    {
        return Redirect::route('account-signin');
    }
    // If the code doesn't go anywhere, it goes here.
    return "TEST";
}

当我运行小型查询时,我能够很好地访问城市表(请参阅问题中的更新)。唯一的解释可能是,当我试图获取所有内容时,我超出了浏览器缓冲区的大小。这个表有70000多行。