我正在寻找一种方法来创建类似于Eloquent作用域的自定义数据库查询方法。如何在Laravel 4.2中创建自定义数据库查询生成器方法
例如
class User extends Eloquent
{
public function getActiveUsers()
{
//...
//...
$data = DB::table('myTable')
->where('active', 1)
->myFun($var1, $var2) //<-- custom method
->limit(10)->get();
dd($data);
}
}
而在myFun()
我会有这样的
public function myFun()
{
if(condition 1)
{
$query->where('col', 12)
}
if(condition 2)
{
$query->where($va2, 'test')
}
}
最后这个where子句将被添加到主查询的一些事情。
我发现this solution,但它是用于Laravel 5.我正在寻找Laravel 4.2。
请注意:应用程序处于生产阶段,所以我不能使用Eloquent范围,所以我期望创建一些类似的东西。
我认为你可以使用'DB ::听(函数($ SQL){})'那里,你可以在一行中得到的查询实例。 –