在Laravel 4 Package中访问数据库的正确方法

时间:2014-06-03 15:23:44

标签: php database laravel-4

我对Laravel来说相对较新,但我想我对它的理解非常好。 </unintentional-rhyme>

我正在为项目创建一个基础包,它需要与数据库交互(已经设置并运行 - 我在Route闭包中做了很多逻辑并且正在重构它)。

我有DB::table('shops')->where(...

但它给了我一个Class \xxx\xxx\DB not found或诸如此类的东西;所以我把它改成了

\DB::table('shops')->where(...来修复命名空间。

这是否可以缓解在包中的问题?我不想引起某种问题,这些问题会让我感到困惑。

由于

2 个答案:

答案 0 :(得分:1)

你必须在顶部声明它

<?php

use DB;

class myClass {
    public function foo () {
        DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
    }
}

答案 1 :(得分:1)

如果您在控制器中使用它,那么这是访问数据的正确方法

Shop::where('condition', 'value')->get();

检查laravel doc http://laravel.com/docs/eloquent