我最近在Laravel 4 Eloquent中了解了动态where子句(我认为这就是所谓的),这使得像User::where('first_name', 'Jon')->get()
这样的子句变得更好User::whereFirstName('Jon')->get()
。这有多灵活?
我可以举例如下
User::whereFirstNameOrLastName('Jon', 'Smith')->get();
=
之外的运算符,例如>=
或LIKE
答案 0 :(得分:5)
您可以使用Query Scope来实现您的目标。
一个简单的例子:
public function scopeFirstOrLastName($query, $first, $last)
{
return $query->where('first_name', 'LIKE', '%' . $first . '%')
->where('last_name', 'LIKE', '%' . $last . '%');
}
使用它:
$user->firstOrLastName('John', 'Doe')->get();
您可以根据需要对其进行命名,并且可以在其中使用任何运算符(或任何查询构建器操作)。