我正在使用Laravel 4中的[照明/数据库组件] [1]到作曲家 - 虽然它通常运行良好,但在这个独立版本中,数据库外观似乎已被打破。这意味着我无法使用DB :: raw()等静态函数。看起来数据库外观甚至包含在包中,但它不适用于:: raw()。
我正在尝试做这样的事情 -
...->orderBy(DB::raw('RAND()'))
答案 0 :(得分:4)
Capsule::raw()
可用,并且已链接到默认连接raw()
。
另外,我做的是创建了一个类:
/**
* @method static raw($value)
* @method static array select($query, $bindings = [], $useReadPdo = true)
* ...etc.
*/
class DB extends Manager
{
}
这样
答案 1 :(得分:0)
我找到了一个部分解决方案,但如果有人有任何更好的想法,我很想听到它们(似乎original Capsule package实际上有内置的支持,也许它在合并时丢失了,或者我使用不正确?)
use Illuminate\Database\Capsule\Manager as Capsule;
$connection = Capsule::connection();
// You can now use $connection->raw() in place of DB::raw()
...->orderBy($connection->raw('RAND()'))