Laravel5:在第二个数据库上接收select的空结果

时间:2016-06-01 21:42:14

标签: php mysql laravel-5.2

我尝试在Laravel5中创建一个小应用程序,为此我有2个数据库。

我确实在config/databases.php文件中设置了第二个连接,并在protected $connection = 'blog'模型中指定了Category

我现在尝试使用$categories = Category::all();选择所有类别,但在blog连接的查询日志中,即使表格中包含6个数据集,我也会收到空集。我无法找到原因,为什么它不会归还它们。

// My model
class Category extends Model
{
    protected $connection = 'blog';
    protected $visible = ['id', 'name'];
}

// My controller
class CategoryController extends Controller
{
    public function list()
    {
        DB::connection('blog')->enableQueryLog();
        $categories = Category::all();
        // $categories = DB::connection('blog')->table('categories')->select('*')->get();
        Log::info(DB::connection('blog')->getQueryLog());

        return view('category.list')->with(compact('categories'));
    }
}

正如您所看到的,我尝试使用all方法,并尝试使用手动方式,两者都没有返回表格的数据集。

我的storage/logs/laravel.log日志:

[2016-06-01 21:28:46] local.INFO: array (
  0 => 
  array (
    'query' => 'select * from `categories`',
    'bindings' => 
    array (
    ),
    'time' => 0.45000000000000001,
  ),
)  

有人可以帮帮我吗?

此致

1 个答案:

答案 0 :(得分:0)

我正在使用雄辩,您是否在模型中声明了受保护的$ visible字段?

试试这个

return view('view')->with(compact('name_of_your_variable');