Laravel 4 Eloquent Dynamic Where Clause

Sak*_*lam 0 php sql where-clause eloquent laravel-4

我最近在Laravel 4 Eloquent中了解了动态where子句(我认为这就是所谓的),它使得where子句User::where('first_name', 'Jon')->get()变得更好User::whereFirstName('Jon')->get().这有多灵活?

我可以举例如下

  • 多列 User::whereFirstNameOrLastName('Jon', 'Smith')->get();
  • 使用其他运营商不是=>=LIKE

Jof*_*yHS 5

您可以使用查询范围来实现所需.

一个简单的例子:

public function scopeFirstOrLastName($query, $first, $last)
{
    return $query->where('first_name', 'LIKE', '%' . $first . '%')
                 ->where('last_name', 'LIKE', '%' . $last . '%');
}
Run Code Online (Sandbox Code Playgroud)

使用它:

$user->firstOrLastName('John', 'Doe')->get();
Run Code Online (Sandbox Code Playgroud)

您可以根据需要对其进行命名,并且可以在其中使用任何运算符(或任何查询构建器操作).